我:提交當前髒細胞上點擊File/C#中保存或按Ctrl + S
MenuStrip
具有文件>保存,節省DataGridView
值數據庫DataGridView
有列必須包含數字值(我已通過使用_CellValidating
事件解決此問題,當輸入不是數字時,設置e.Cancel = true
)
問題是,當單擊「文件」>「保存」時單元格仍然髒(在編輯模式下),它的值將被忽略並且不包含在數據庫記錄中。
我:提交當前髒細胞上點擊File/C#中保存或按Ctrl + S
MenuStrip
具有文件>保存,節省DataGridView
值數據庫
DataGridView
有列必須包含數字值(我已通過使用_CellValidating
事件解決此問題,當輸入不是數字時,設置e.Cancel = true
)
問題是,當單擊「文件」>「保存」時單元格仍然髒(在編輯模式下),它的值將被忽略並且不包含在數據庫記錄中。
嘗試this如果要立即提交細胞改變底層DataSource-
void dataGridView1_CurrentCellDirtyStateChanged(object sender,
EventArgs e)
{
if (dataGridView1.IsCurrentCellDirty)
{
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}
改性在其內容發生了變化,但變化尚未保存的細胞標記。當細胞已被編輯,但變化還沒有被提交到數據高速緩衝存儲器,或者當編輯操作被取消通常發生
此事件。
如果對單元格內容有任何驗證(例如輸入必須是數字),則可能需要避免此操作。用戶在輸入有效的條目時無法輸入無效的內容 - 例如,您將無法輸入1.6e-19,因爲當您達到1.6e時,它將無法通過驗證。 –
小心顯示你的工作? –