无法清除DataGridView的突出显示的第一个单元格

时间:2012-03-02 09:10:49

标签: c# .net winforms datagridview

我希望每当我的应用程序初始化时,都不会选择DGV的第一个行单元格。我正在使用以下代码,但只有在我禁用Timer时才会起作用(我真的不知道原因)。

 private void BindData()
 {
            try
            {
                DataTable dt = DeviceData.BindData(BMS_Controls.ClsConstant.DEVICETYPE.PRIMARY_PUMPS.ToString());
                bindingSource1.DataSource = dt;
                dataGridView1.DataSource = bindingSource1;
                dataGridView1.ClearSelection();
                dataGridView1.Refresh();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
  }

  private void frmPrimaryPumps_Load(object sender, EventArgs e)
   {
            BindData();
            timer1.Interval = 1000;
            timer1.Start();

   }

我在等待1秒后使用Timer调用BindData方法。

有人可以告诉我如何禁用第一行选择,并使用Timer成功调用BindData方法?

3 个答案:

答案 0 :(得分:1)

您应该在分配datagridview1.CurrentCell = null后尝试设置DataSource,这应该从网格中删除第一行/单元格的选择。

答案 1 :(得分:0)

通过添加您已添加的行,它对我有用:

dataGridView1.ClearSelection();

尝试删除刷新方法。

答案 2 :(得分:0)

致电

dgv.ClearSelection();

关于DataBindingsCompleted事件

喜欢以下

dgv.DataBindingComplete + = new DataGridViewBindingCompleteEventHandler(dgv_DataBindingComplete);

    private void dgv_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        DataGridView d = sender as DataGridView;
        d.ClearSelection();
    }