0

我有一个桌面应用程序,它在 Datagridview 中显示数据,但是当我单击 Datagridview 的标题时,会自动选择 Datagridview 中的第一个单元格。如何删除gridview中单元格的自动选择?

  private void GV_investigate_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (GV_investigate.SelectedRows.Count > 0)
        {
            int oid = int.Parse(GV_investigate.SelectedRows[0].Cells[0].Value.ToString());
        }
    }

   private void GV_investigate_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        GV_investigate.ClearSelection();
    }
4

3 回答 3

1

如果您想在 oid 中获取选定的单元格值,那么您应该执行类似的操作。在单元格点击事件中,如果你不使用 try,在你的编码中捕获你有时会出错

private void GV_investigate_CellClick(object sender, DataGridViewCellEventArgs e)
{
    try
    {
        int oid = int.Parse(GV_investigate.Rows[e.RowIndex].Cells[0].Value.ToString());                
    }
    catch (Exception)
    {
    }
}
于 2013-03-15T23:14:05.823 回答
0

你能试试这个吗?

dataGridView.CurrentCell = null;

于 2013-03-15T22:37:13.190 回答
0

datagridview有一个名为ColumnHeaderMouseClick将此事件添加到您的项目的事件,然后当用户单击列标题时,该事件在函数中调用它的函数,我们只需清除选择:

向项目添加事件:

    public Form1()
    {
        InitializeComponent();
        dataGridView1.ColumnHeaderMouseClick += dataGridView1_ColumnHeaderMouseClick;
    }

事件处理程序:

    private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        dataGridView1.ClearSelection();
    }
于 2013-03-15T22:58:20.207 回答