У меня есть DataGridView, заполненный из файла excel. Я добавил столбец флажок в этом DataGridViewПоследняя проверенная строка в datagridview checkbox column не отмечена
...
dtSet.Tables[0].Columns.Add(new DataColumn("boolCol", typeof(bool)));
dgvInputFile.DataSource = dtSet.Tables[0];
dgvInputFile.AllowUserToAddRows = false;
Позже я проверяю, если каждая строка cheked:
for (int currentRow = 0; currentRow < grv.Rows.Count; currentRow++)
{
DataGridViewCheckBoxCell CbxCell = dgvInputFile.Rows[currentRow].Cells["boolCol"] as DataGridViewCheckBoxCell;
bool valid = CbxCell != null && !DBNull.Value.Equals(CbxCell.Value) && (bool)CbxCell.Value == true;
....
Если я проверить первую строку. Затем valid=false
для любой строки. Если я проверю первые 2 строки. Затем valid=true
только для первой строки. Если я проверю первые 3 строки. Затем valid=true
только для первых двух строк. Кажется, что последняя строка всегда не отмечена. Но это щекочет. И это не только когда я проверяю с самого начала.
Я пробовал второй метод для определения, есть ли строка, и результат такой же.
(bool)dgvInputFile.Rows[currentRow].Cells["boolCol"].FormattedValue
Кроме того. Если я проверю первый, затем второй, а третий и отменит третий.
делает 'currentRow' фактически указывает на 3-й строке (или) строки вы собираетесь проверить? – Rahul
Да. Я проверил это. Неверное значение ячейки флажка. – cattaneo