2011-12-19 26 views
7

私はFullRowSelectに設定したいくつかのdatagridviewを持っています。ユーザーは、コピー機能のために単一セルを選択する機能を要求しています。DataGridView CellSelectとFullRowSelect

DataGridViewCellSelectに設定しましたが、アプリケーションを実行するときに行ヘッダーをクリックすると、最初の列のみが強調表示されません。

私は、行ヘッダーで複数回クリックして過ごしています完全にそれを選択する​​ためにシフトしたがために選択モードを取得するためにCellMouseClickと​​を使用してみました。

private void DataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
} 

は、どのように私は簡単やないので、簡単に、彼らはグリッド上で選択した内容に応じCellSelectFullRowSelect交互に切り替えることができますか?

答えて

13

私はあなたを理解していれば、あなたは、単一のセルを選択できるようにするだけでなく、簡単に完全な行を選択?

この場合、SelectionModeをRowHeaderSelectに設定します。

2
DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 

1実際には、DataGridViewオブジェクトではなく、DataGridView構造を使用しています。

2 SelectionModeは、ユーザーが行をクリックするたびに変更するのではなく、プログラムのコンストラクターで変更する必要があります。

public MyForm() 
{ 
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
} 
+1

私はこのオブジェクトを使用しています。例ではDataGridViewと呼ばれています。わかりやすくするために名前を変更します。選択モードまでは、ユーザーが望むものに基づいて変更されます。セルをクリックすると、CellSelectになります。 RowHeaderをクリックすると、FullRowSelectになります。 – Taryn

-1

this.dataGridViewEmpList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

0

この1行のコードを追加します。

this.dataGridView1.SelectionMode = isTrue == true ? DataGridViewSelectionMode.FullRowSelect : DataGridViewSelectionMode.RowHeaderSelect; 
関連する問題