tôi muốn chạy CellEndEdit chỉ khi giá trị của ô được thay đổi, cố gắng đưaLàm thế nào để chạy Run CellEndEdit chỉ khi di ValueChanged trong DataGridView
if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == e.FormattedValue.ToString())
return;
trong trường hợp CellValidation, sự kiện Validation di động không trở lại nhưng CellEndEdit cũng được được thực hiện và cập nhật, updated date
& by
trường khi người dùng chỉ chuyển sang chế độ chỉnh sửa và xuất hiện mà không thay đổi ô giá trị.
Vào thời điểm CellEndEdit đạt được CellValue
& Formatted Value
giống nhau nên không thể đặt điều này trong CellEndEdit.
Một giải pháp tầm thường là đặt cờ trong CellValidation và trả lại CellEndEdit khi cờ được đặt, nhưng điều này dường như là một giải pháp dễ bị lỗi vì có khoảng 10 gird trên biểu mẫu. Vậy 10 lá cờ?
Tốt trả lời, để tránh việc phải duy trì một biến 'formInitialized ', bạn có thể kết nối sự kiện' CellValueChanged 'sau' this.InitializeComponent(); ' gọi trong hàm tạo/điều khiển biểu mẫu. Bằng cách đó bạn sẽ không phải duy trì biến. –