Gridview的单元格基本上都关联一个Repository Items,可以在上面选择各种类型的编辑器。
绑定数据后,会根据其编辑器的特点进行风格及功能的展示。
遇到的问题:在某行某个单元格变化后,另外一个单元格内容需要进行动态关联变化。但是原来使用RepositoryItemlookupedit绑定数据的单元格内容不可见了。
在使用过程中发现,如果是对整个列进行数据绑定,统一展示,则只需要一般设置即可;但是如果某列的每行单元格的数据源或要求不一样,要分别展示,那就需要对其进行设置。
对于lookupedit/searchLookupedit来说,他是统一展示和编辑,combobox的绑定数据则似乎可以是单独对应每个单元格的,不受影响。
对于统一编辑的lookupedit/searchLookupedit来说。比如,如果每行的某单元格绑定的数据不一样,第一行的col1单元格需要绑定list1,第二行的col1单元格绑定list2...... 因为gridview的单元格默认使用了统一的编辑器展示和编辑,那么如果list1和list2的数据不统一,就造成col1列的不匹配不展示。 这样就需要为每个单元格单独生成他们各自的Reposity edit,可以在GridView.CustomRowCellEditForEditing 的事件中进行改写。
//以SearchLookUpEdit为例
private void gridView1_CustomRowCellEditForEditing(object sender,
CustomRowCellEditEventArgs e) {
if (e.Column.Name.Eques("col1"))
{
var repositoryItem = new DevExpress.XtraEditors.Repository.RepositoryItemSearchLookUpEdit();
e.RepositoryItem = repositoryItem;
repositoryItem.DataSource = list; //list可以动态进行变动; 在第一行中绑定list = list1,第二行list = list2......
}
}