Друзья, я использую элемент управления datagridview в своем приложении Windows Visual Studio 2005. Здесь у меня 5 столбцов. Среди этих 5, 2-й (colIndex 1) и 3-й (colIndex 2) столбцы имеют текстовый тип данных, а 4-й (colIndex 3) и 5-й (colIndex 4) имеют столбец с двойным типом данных. Теперь я должен проверить длину значения ячейки для colIndex 1 и 2, больше ли введенная длина значения, чем конкретное (10 для colIndex 1 и 100 для colIndex 2) значение? Если да, то я должен показать соответствующее сообщение. Можете ли вы предложить, в каком событии datagridview мне следует проверить введенное / набранное значение ячейки и как проверить это значение? Я использовал следующий код в событии CellValidating
string columnName = dgView.Columns[e.ColumnIndex].Name;
if (dgView.Rows[e.RowIndex].Cells[dgViewColumn.TAN].Value.ToString().Length > 10)
{
e.Cancel = true;
MessageBox.Show(columnName + " must be 10 Digits Long!");
}
Но он показывает columnName следующего столбца. И поскольку у меня есть функция для сетки, которая при нажатии клавиши «Enter» перемещает фокус на следующую ячейку, она показывает ошибку как «Операция не удалась, потому что программа не может зафиксировать или выйти из изменения значения ячейки». в событии CellValidating. Пожалуйста помогите.