我点击控件一行的时候,只是datagrid的一个cell显示为被选择
我想让整个一行都显示为被选择上,应该怎么做哪

解决方案 »

  1.   

    控件重载,加个判断条件,选中一个CELL后,把当前行的CELL全都选中.
      

  2.   

    private void gridIN_CurrentCellChanged(object sender, System.EventArgs e)
    {
    int rowindex=this.gridIN.CurrentRowIndex;
    if(rowindex>=0){this.gridIN.Select(rowindex);}
    } private void gridIN_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    if(e.Button == System.Windows.Forms.MouseButtons.Right||e.Button == System.Windows.Forms.MouseButtons.Left)
    {
    //只選中本行,不選中本單元格
    int rowindex=this.gridIN.CurrentRowIndex;
    if(rowindex>=0){this.gridIN.Select(rowindex);}
    }
    }
      

  3.   

    当不添加 
     private void gridIN_MouseUp(object sender, em.Windows.Forms.MouseEventArgs e) 中的语句
     只运行private void gridIN_CurrentCellChanged(object sender, System.EventArgs e)时
      就可以实现了,为什么还用gridIN_MouseUp事件?
     谢谢!
      

  4.   

    private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    dataGrid1.Select(dataGrid1.CurrentCell.RowNumber);

    }
      

  5.   

    private void gridIN_CurrentCellChanged(object sender, System.EventArgs e)
    {
    int rowindex=this.gridIN.CurrentRowIndex;
    if(rowindex>=0){this.gridIN.Select(rowindex);}
    }
    这句就可以了,何必那么麻烦呢?
      

  6.   

    我也是用 fengjun19912(冯君) 的方法搞定的,
    谢了,
      

  7.   

    private void gridIN_CurrentCellChanged(object sender, System.EventArgs e)
    {
    int rowindex=this.gridIN.CurrentRowIndex;
    if(rowindex>=0){this.gridIN.Select(rowindex);}
    }
    这句就可以了,何必那么麻烦呢?
    這是不是麻煩不麻煩的問題,是需求不一樣的問題!
      

  8.   

    支持dunao([別人騎馬,俺騎驢,比上不足,比下有余])