0
我有一些DataGrid
問題。當DataGrid
設置爲CanUserAddRows
時,會在DataGrid
的底部放置一個新的黑色行,但這些行有意外的行爲,因爲如果我只是將新行粘住並將焦點傳遞到另一個單元格,即使該行爲空時也會創建該行。我想改變行爲通過veryfing如果行是空的避免創建新的項目,但如果在事件RowEditEnding
我設置e.Cancel=true
,然後NewItemPlaceHolder
desapears,我不能添加任何行從那時起。任何機構都找到了這些問題的答案?錯誤NewItemPlaceholder行爲
protected override void OnRowEditEnding(DataGridRowEditEndingEventArgs e)
{
if ((e.Row.Item as DataRowView).Row.ItemArray[0] == null || (e.Row.Item as DataRowView).Row.ItemArray[0].ToString() == String.Empty)
{
e.Cancel = true;
IEditableCollectionView collection = Items as IEditableCollectionView;
if (collection.IsAddingNew)
{
collection.CancelNew();
}
}
base.OnRowEditEnding(e);
}
護理後的代碼做呢? –
我取消了新的,因爲如果我不這樣做,則會引發「DeferRefresh不允許用於AddItem或NewItem事務」的異常 – Nandhi
我建議使用此解決方案! http://stackoverflow.com/a/42763784/973344 –