У меня есть DataGridView с несколькими столбцами TextBoxes. Мне нужно захватить событие, когда они заканчивают ввод данных и выходят из поля (через Tab, Enter, щелчок мыши в другом месте и т. Д.)
Я искал SO и Google, и кажется, что вам нужно создать событие с нуля. Я пробовал несколько вариантов того, что нашел, так как не могу найти тот, который соответствует моим конкретным потребностям.
Я занимаюсь этим дольше, чем хочу признать, и мне нужна помощь.
Вот что у меня есть ...
// Select DataGridView EditingControlShowing Event
Private void gridData_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {
e.Control.TextChanged += new EventHandler(textBox_TextChanged);
Control cntObject = e.Control;
cntObject.TextChanged += textBox_TextChanged;
}
// TextBox TextChanged Event
Private void textBox_TextChanged(object sender, EventArgs e) {
// Checks to see if the AddlQty field was altered
if (gridData.Columns[e.ColumnIndex].Name == "AddlQty") {
// Validate Entry
if (e.Text is Not numeric) {
MessageBox.Show("Entry Not Valid, Only Numeric Values Accepted");
} else {
CalcFinalQty(e.RowIndex);
}
}
}
Для записи, код НЕ работает, проверка - квази-код, и я получаю сообщение об ошибке в заголовке функции. Важной частью для меня является
if (gridData.Columns[e.ColumnIndex].Name == "AddlQty"){ }
Мне просто нужна помощь, чтобы добраться до этой точки.