什麼是實現DataGridView的驗證邏輯代碼和條件格式代碼的最佳地點?CellValueChanged與CellValidating DataGridView的事件
在我閱讀過很多關於此控件的書籍和文章中,似乎表明爲此處理的適當事件是CellValidating。那麼,這個名字並不意味着這一點。
但是,這個事件經常會觸發我的口味,我不確定它是否是必需的。例如,此事件觸發每次用戶切換到另一行。
另一方面,CellValueChanged事件似乎只在單元格的值發生變化時觸發,這意味着驗證代碼只在值更改時運行,而不是每次用戶更改單元格時運行。
現在,既然有這麼多書籍使用CellValidating事件,我不知道是否沒有任何使用CellValueChanged的問題(例如顯示)?
我明白,使用簡單驗證和條件高亮規則時,性能的影響應該是無關緊要的,但我更希望它不會在用戶每次移動到另一個單元時運行無用代碼(如果可以避免的話)。
感謝,
取決於您遵循的設計模式(如果有)。從技術上講,你應該從你的UI層中移除你的業務邏輯,並且有一些ValidationObject來驗證表示層中的數據,然後將結果回發給你的視圖。 – 2010-08-12 16:29:59
是的,我同意如果它僅用於驗證。但是,對於條件格式化代碼,我沒有看到其他方式保留在DataGridView的相關代碼中(或者從DataGridView派生的類中將其抽象出來)。 – 2010-08-12 17:48:43