8

WinformにdataGridViewがあり、ここで見たコードを使用して、チェックボックスのある列をデータグリッドに追加しました。

    DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
    {
        column.HeaderText = "Export";
        column.Name = "Export";
        column.AutoSizeMode =
            DataGridViewAutoSizeColumnMode.DisplayedCells;
        column.FlatStyle = FlatStyle.Standard;
        column.CellTemplate = new DataGridViewCheckBoxCell(false);
        column.CellTemplate.Style.BackColor = Color.White;
    }

    gStudyTable.Columns.Insert(0, column);  

これは機能しますが、追加したデフォルトののこぎりとしてcheckBoxをチェックしたいと思います。

    foreach (DataGridViewRow row in gStudyTable.Rows)
    {                
        row.Cells[0].Value = true;
    }

ただし、チェックボックスの列はまだオフになっています。データソースとしてコレクションを使用しており、データソースを追加した後でcolの値を変更します。

4

8 に答える 8

12

列宣言でチェック値を設定する方法はないと思います。データソースが設定された後(たとえば、DataBindingCompleteイベントで)、行を繰り返してチェックする必要があります。

for (int i = 0; i < dataGridView1.Rows.Count -1; i++)
{
dataGridView1.Rows[i].Cells[0].Value = true;
}

名:

for (int i = 0; i < dataGridView1.Rows.Count -1; i++)
{
   dataGridView1.Rows[i].Cells["Export"].Value = true;
}
于 2012-12-10T07:10:32.167 に答える
3

このようにしてみてください:

foreach (DataGridViewRow row in dgv.Rows)     
{
    row.Cells[CheckBoxColumn.Name].Value = true;     
} 
于 2012-12-10T07:19:31.217 に答える
1

DataGridViewCheckBoxCellsの値を設定するときに、DataGridViewが表示されていることを確認してください。TabControlの2番目のタブに私のものがあり、初期化後は常にセルのチェックが外されていました。これを解決するには、セルの初期化をTabControlのSelectedIndexChangedイベントに移動する必要がありました。

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (this.tabControl1.SelectedIndex == 1)
    {
        foreach (DataGridViewRow row in this.myGridView.Rows)
        {
            ((DataGridViewCheckBoxCell)row.Cells[0]).Value = true;
        }
    }
}
于 2018-11-20T09:36:47.423 に答える
0

datatableを使用して、datagridviewで列を作成してから、行を追加できます。最初の列の値は、各行に「True」または「False」として指定されます。

これを試して

于 2013-05-22T11:20:51.643 に答える
0

if((bool)this.dataGridView2.Rows [i] .Cells [0] .FormattedValue == true)

于 2013-07-05T17:22:40.347 に答える
0

グリッドに値をロード中またはロードした後、グリッドの値を確認するには、このコードを使用してグリッド列のプロパティを設定します

foreach (DataGridViewRow row in dataGridView.Rows)
{
    row.Cells[0].Value = 1;
}

ここに画像の説明を入力してください

于 2016-09-14T14:01:37.057 に答える
0

表形式については、.xsdファイル内のプロパティを確認してください。

テーブル行のプロパティ

次に、デフォルト値を適切なものに設定していることを確認してください。

デフォルトのデータ列プロパティ値を設定します

次に、デフォルト値がバインディングソースに自動的に設定されます。

于 2021-11-14T22:42:40.273 に答える
-2

NewRowIndex簡単な方法は、以下に示すようにプロパティを使用することです。

dvgInvoiceItems.Rows[dvgInvoiceItems.NewRowIndex-1].Cells[5].Value = true;
dvgInvoiceItems.Rows[dvgInvoiceItems.NewRowIndex-1].Cells[6].Value = true;
于 2017-03-09T16:31:25.217 に答える