[英]Defining the Edit-Type (In-Place Editor) in Devexpress PropertyGrid.SelectedObject's Class
[英]problems setting XtraGrid with in-place editor-s (using GridLookUpEdit)
我需要一個具有GridLookupEdit的XtraGrid控件來輸入列值。
到目前為止,我設法做到了:
1)我已經配置了XtraGrid控件
columns: ID, Name, Number
in-place GridLookUp Editors for Name and Number columns
2)在窗體加載事件上,我從數據庫加載數據並設置XtraGrid數據源以及repositoryItem(..)數據源,valuemember和displaymember
a)數據已加載到XtraGrid中,我可以激活單元格,但是不能從下拉列表中選擇值(從repositoryItem(..))或手動輸入值(我可以在“ *”新行中激活單元格,但是存在相同的問題-可以不能從下拉菜單中選擇或手動輸入值)=>為什么?
b)如果我沒有為XtraGrid設置數據源,則兩個下拉菜單都處於活動狀態,並且我可以使用GridLookupEdit選擇值,但是當我退出該單元格時,該單元格將被清除=>我相信這是因為在這種情況下,沒有xtraGrid.DataSource設置好了嗎?
var model = (from TableA a in _dbE.TableA select new {ID, Name, Number}).ToList();
//if i comment this line out, then i can choose values from GridLookUpEdit
gridControl1.DataSource = model;
repositoryItemNosaukums.DataSource = model;
repositoryItemNosaukums.ValueMember = "ID";
repositoryItemNosaukums.DisplayMember = "Name";
repositoryItemPieteikumaNr.DataSource = model;
repositoryItemPieteikumaNr.ValueMember = "ID";
repositoryItemPieteikumaNr.DisplayMember = "Number";
我想念什么?
問題是,我的數據源“模型”是一個列表,但它應該是具有屬性AllowNew == True和AllowEdit == True的BindingList。
在DevExpress支持人員詢問數據源是否為只讀之后,我發現了這篇帖子,它終於讓我大開眼界:
DataGridView中的問題:datagridview對用戶(WinForms)似乎是只讀的
//no projections (select new ...) for IBindingList<T>..
//var model = (from TableA a in _dbE.TableA select new {ID, Name, Number}).ToList();
var model = (from TableA a in _dbE.TableA).ToList();
//convert to BindingList
var bindingModel= new BindingList<TableA>(model);
bindingModel.AllowNew=true;
bindingModel.AllowEdit=true;
//bind BindingList to datagrid
gridControl1.DataSource = bindingModel; //model;
//... no changes to repositoryItem(..) stuff
repositoryItemNosaukums.DataSource = model;
repositoryItemNosaukums.ValueMember = "ID";
repositoryItemNosaukums.DisplayMember = "Name";
repositoryItemPieteikumaNr.DataSource = model;
repositoryItemPieteikumaNr.ValueMember = "ID";
repositoryItemPieteikumaNr.DisplayMember = "Number";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.