我幾乎沒有使用WinForm的DataGridView控件,並且老實說我很難嘗試混合和匹配它的事件和方法(例如,CommitEdit()
方法沒有達到我所期望的)來實現簡單的概念通過「進入編輯模式,雙擊單元格,修改它的值(希望做某種驗證),並留下上述小區時保存更改我的實際代碼看起來是這樣的,它絕對是不完整的。如何「雙擊,編輯並保存」 - Windows窗體DataGridView CurrentCell?
// DEBUG
private void myDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
this.myDataGridView.BeginEdit(true);
this.myDataGridView.CurrentCell.ReadOnly = false;
}
private void myDataGridView_CellLeave(object sender, DataGridViewCellEventArgs e)
{
this.myDataGridView.EndEdit();
}
private void myDataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
DataGridViewCellStyle editCellStyle = new DataGridViewCellStyle();
editCellStyle.BackColor = System.Drawing.Color.DarkOrange;
editCellStyle.ForeColor = System.Drawing.Color.Black;
this.myDataGridView.CurrentCell.Style.ApplyStyle(editCellStyle);
}
private void myDataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
DataGridViewCellStyle defaultCellStyle = new DataGridViewCellStyle();
defaultCellStyle.BackColor = System.Drawing.Color.White;
this.myDataGridView.CurrentCell.Style.ApplyStyle(defaultCellStyle);
}
// DEBUG
所以因爲你可能會注意到任何你可以提供的幫助將是非常有價值的和definintely讚賞。非常感謝你們提前!
究竟是什麼問題?例如數據源是否未更新?數據庫? CellStyles沒有更新? – 2010-07-13 15:33:49
感謝您的回覆Conrad Frix。實際上沒有任何更新,儘管
myDataGridView.CurrentCell.EditedFormattedValue
擁有新的價值,當它離開單元格時它已經丟失。 – 2010-07-13 15:41:16