0

Datagridview にデータを表示するデスクトップ アプリケーションがありますが、Datagridview のヘッダーをクリックすると、Datagridview の最初のセルが自動選択されます。グリッドビューでセルの自動選択を削除するには?

  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このイベントをプロジェクトに追加するというイベントがありColumnHeaderMouseClick、ユーザーが列ヘッダーをクリックすると、イベントが関数内の関数を呼び出し、選択をクリアします:

プロジェクトへのイベントの追加:

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

イベントハンドラ:

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

これを試すことができますか?

dataGridView.CurrentCell = null;

于 2013-03-15T22:37:13.190 に答える