選択時のヘッダーチェックボックスは、チェックボックス列のすべてのチェックボックスを選択します。ヘッダーチェックボックスを選択した後、データが更新されると、データはその上にマークされたまま表示されます。 [OK]ボタンをクリックすると次のコードが表示され、ヘッダー付きのDataGridviewでデータを読み込みます。チェックボックスと各行のすべてのチェックボックスが表示されます。次に、すべての行のすべてのチェックボックスを選択するヘッダチェックボックスを選択します。 OKボタンをもう一度クリックすると、データはリロードされますが、ヘッダチェックボックスのチェックマークはチェックされずに表示されます。データをリフレッシュした後にdataGridViewのヘッダチェックボックスを解除する方法C#?
private void buttonOk_Click(object sender, EventArgs e)
{
LoadDataGridView();
CheckBox ckBoxHeader = new CheckBox();
//Get the column header cell bounds
Rectangle rect = datagridview1.GetCellDisplayRectangle(0, -1, true);
rect.Y = 3;
//align header check box in the middle center at rect.X = 82
rect.X = (rect.Location.X + (rect.Width/2)) - 10 ;
ckBoxHeader.Size = new Size(18, 18);
//Change the location of the CheckBox to make it stay on the header
ckBoxHeader.Location = rect.Location;
datagridview1.Columns[0].Frozen = true;
ckBoxHeader.CheckedChanged += ckBoxHeader_CheckedChanged;
//Add the CheckBox into the DataGridView
datagridview1.Controls.Add(ckBoxHeader);
}
private void ckBoxHeader_CheckedChanged(object sender, EventArgs e)
{
for (int j = 0; j <= datagridview1.RowCount - 1; j++)
{
datagridview1[0, j].Value = ((CheckBox)sender).Checked;
}
datagridview1.EndEdit();
}
をクリックしてください遠くに、あなたを助けることは不可能です。あなたのためのコードを一から書くことはできません。 –
コードで話す。 –
上記の@ Keyur Patelと@ M Adeel Khalidのヒントがあれば、コードを追加しました。ありがとうございました! – Krish