是不是应该把Delete(main);改为return(main);

解决方案 »

  1.   

    关键是this.dataGrid1.IsSelected(iRow)永远是false,根本就执行不到哪.而且delete(main)
    是调用的子程序.
      

  2.   

    应该是你没有建立一个触发事件了,mouseUp上面的代码应该放在触发事件里
      

  3.   

    并且在程序里建立一个全局变量,int row;
    在触发事件里面给它赋值
      

  4.   

    iRowCount=this.myDataSet.Tables["CheckersAdmin"].Rows.Count;//获得行数//这怎么没有定义iRow???
    //for(iRow = 0;iRow <iRowCount;iRow++) 
    //{
    //    if(this.dataGrid1.IsSelected(iRow))
    //{
    上面的改成
    for(Int32 iRow = 0;iRow <iRowCount;iRow++) 
    {
        if(this.dataGrid1.CurrentRowIndex ==iRow)
        {
         string main=this.myDataSet.Tables["CheckersAdmin"].Rows[iRow][0].ToString();
         Delete(main);
        }
    }
    dataGrid1.IsSelected为什么永远返回false?
    我估计是因为你鼠标点的是DATAGRID列里的CELL去了。
    dataGrid1.IsSelected方法是要你选种有黑三角的那一个CELL,使整行变蓝才可能返回TRUE;
      

  5.   

    你应该放在某个事件中来触发,比如说mouseup或mousedown进行捕捉。