Динамически добавленный столбец CheckBox отключен в GridView - PullRequest
0 голосов
/ 07 мая 2009

Я динамически добавляю логический столбец в DataSet. Таблица DataSet является источником данных для GridView, который автоматически генерирует столбцы.

Проблема: все флажки для этого динамически создаваемого столбца отключены. Как я могу их включить?

ds.Tables["Transactions"].Columns.Add("Retry", typeof(System.Boolean));
ds.Tables["Transactions"].Columns["Retry"].ReadOnly = false;

Другими словами, как я могу контролировать, как GridView генерирует флажки для логического поля? (И почему установка ReadOnly на False не имеет никакого эффекта?)

Спасибо!

Ответы [ 3 ]

1 голос
/ 05 января 2010

Вам, вероятно, следует добавить обработчик события CellContentClick и отменить значение, которое уже имеет ячейка. Нравится:

private void dgvRaceDetails_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
            if (e.ColumnIndex == 5)
            {
                dgvRaceDetails.Rows[e.RowIndex].Cells[5].Value =
                    !(Boolean)dgvRaceDetails.Rows[e.RowIndex].Cells[5].Value;
            }

            if (e.ColumnIndex == 6)
            {
                dgvRaceDetails.Rows[e.RowIndex].Cells[6].Value =
                    !(Boolean)dgvRaceDetails.Rows[e.RowIndex].Cells[6].Value;
            }
}
0 голосов
/ 16 сентября 2015

Установите значение Boolean в true. Значением по умолчанию является false. Надеюсь, это поможет.

0 голосов
/ 07 мая 2009

Я полагаю, что они будут автоматически отключены, пока не получат значение.

DataRow row = ds.Tables["Transactions"].NewRow();
row("Retry") = true;
ds.Tables["Transactions"].Rows.Add(row)
...