0

全行選択に設定された DataGridView。DataGridView のデフォルトの性質によって行われる、デフォルトで選択された行をクリアする方法が必要です

dgvに4つの列があるSelectionChangedイベントも使用しています

デフォルトの行選択のままにすると、SelectionChanged がロードされたときに 4 回発生しますが、まったく発生させたくないのです。

選択をクリアし、SelectionChanged イベントを発生させない RowsPostPaint イベントを使用しようとしましたが、後で行を選択できません。

何か案は?ありがとう

4

3 に答える 3

0

最初の行の選択を解除するには、 を列挙してプロパティを にSelectedRows設定します。最初の行が選択されているときにイベントが発生しないようにするには、イベントを選択解除した後で手動で追加します。 SelectedfalseSelectionChanged

たとえば、フォームのLoadイベントでは次のようになります。

foreach(DataGridViewRow row in dataGridView1.SelectedRows)
    row.Selected = false;

dataGridView1.SelectionChanged += dataGridView1_SelectionChanged;
于 2011-10-06T04:17:47.380 に答える
0

これを使って

フォームの読み込み中:

     datagridview.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(datagridview_DataBindingComplete);

リスナーの場合:

    private void datagridview_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        datagridview.ClearSelection();
    }

ただし、データソースを変更するたびに、デフォルトの選択が非表示になることに注意してください。

于 2012-09-17T14:18:54.847 に答える
0

データグリッドにデータを入力したら、これを試してください。

datagrid.ClearSelection();

于 2013-07-15T05:59:07.967 に答える