我希望每当我的应用程序初始化时,都不会选择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
方法?
答案 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();
}