winform 中 datagrid 单击选中整行 而不是单元格怎么做啊现在 一点就是选中单元格 我要选中整行。

解决方案 »

  1.   

    private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
    {
    if (this.tempTable.Rows.Count > 0)
    {
    int currentRowNumber = this.dataGrid1.CurrentCell.RowNumber;
    if (currentRowNumber >= 0 && currentRowNumber < fbackAMend.Count)
    fbackAMend.Position = currentRowNumber;
    }
    }
      

  2.   

    private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
    {
    if (this.tempTable.Rows.Count > 0)
    {
    int currentRowNumber = this.dataGrid1.CurrentCell.RowNumber;
    if (currentRowNumber >= 0 && currentRowNumber < fbackAMend.Count)
    fbackAMend.Position = currentRowNumber;
    }
    }
    可不可以解释下 
    fbackAMend 是什么。。
      

  3.   

    修改datagrid的SelectionMode属性为FullRowSelect
      

  4.   

    修改datagrid的SelectionMode属性为FullRowSelect
      

  5.   

    private void dgDb_ItemCreated(object sender, DataGridItemEventArgs e)
    {
          e.Item.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699CC'");
         e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");
    }
    改成  onclick 就可以了
      

  6.   

    SelectionMode是VS2005中DataGridView的属性
      

  7.   

    tcx1986() 你这个是WebForm的
    winform2003中,要改DataGrid的行选种模式,只能重绘了
      

  8.   

    private void dgGrid_CurrentCellChanged(object sender, System.EventArgs e)
    {
    this.dg_dgGrid.Select(this.dg_dgGrid.CurrentRowIndex);
                       }
      

  9.   

    private void dgGrid_CurrentCellChanged(object sender, System.EventArgs e)
    {
    this.dgGrid.Select(this.dgGrid.CurrentRowIndex);
                       }
      

  10.   

    还没结贴
    我来说吧,但要给分呀!
    楼上几位说的不如我这个简单——哈哈!
    pivate void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    Point pt = new Point(e.X,e.Y);
    DataGrid.HitTestInfo hit = dataGrid1.HitTest(pt);
    if(hit.Type == DataGrid.HitTestType.Cell) 
    {
    dataGrid1.Select(hit.Row); 
    }
    }
      

  11.   

    回答楼主
    private CurrencyManager fbackAMend;
      

  12.   

    //--------------------初始化窗体,读入数据------------------
    private void cFbackEditA_Load(object sender, System.EventArgs e)
    {
    this.sqlDataAdapter1.Fill(tempTable);
    this.dataGrid1.DataSource = tempTable.DefaultView;
    DataGridStateControl();
    DataBindingsFunction();
    fbackAMend = (CurrencyManager) BindingContext[tempTable];
    }
      

  13.   

    重写的确可以 但是程序都做好了 好麻烦啊。 TO:天天在线 不行啊 N 早就用过 TO:一路狂奔 不行啊 也用过 TO:可乐 明天去试试  明天结贴 现在在家 不好意思。
      

  14.   

    还没结贴
    我来说吧,但要给分呀!
    楼上几位说的不如我这个简单——哈哈!
    pivate void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    Point pt = new Point(e.X,e.Y);
    DataGrid.HitTestInfo hit = dataGrid1.HitTest(pt);
    if(hit.Type == DataGrid.HitTestType.Cell) 
    {
    dataGrid1.Select(hit.Row); 
    }
    }编译能过吗我要的是 选中它 且单元格不接受焦点。
      

  15.   

    呵呵,看来此分非我莫属啦。
    我用的是vs2005
    //选择某行
     datagridview1.Rows[3].Selected = true;
      

  16.   

    private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) 
     

     
         System.Drawing.Point pt = new Point(e.X, e.Y); 
     
         DataGrid.HitTestInfo hti = dataGrid1.HitTest(pt); 
     
         if(hti.Type == DataGrid.HitTestType.Cell) 
     
         { 
     
              dataGrid1.CurrentCell = new DataGridCell(hti.Row, hti.Column); 
     
              dataGrid1.Select(hti.Row); 
     
         } 
     

     
      

  17.   

    http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q689q
      

  18.   

    this.dataGrid1.CurrentRowIndex=this.dataGrid1.CurrentCell.RowNumber;
      

  19.   

    this.dataGrid1.CurrentRowIndex=this.dataGrid1.CurrentCell.RowNumber;这样 还是触发不了 datagrid 的双击事件  事件被 cell接收了。
      

  20.   


    this.dg_dgGrid.Select(this.dg_dgGrid.CurrentRowIndex);
      

  21.   

    this.dg_dgGrid.Select(this.dg_dgGrid.CurrentRowIndex);
    没用 是点击进单元格了
      

  22.   

    private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
    {
        dataGrid1.Select(dataGrid1.CurrentRowIndex) ;
    }