C# DevExpress:XtraGridView自定义列绑定
假设我有以下两门课C# DevExpress:XtraGridView自定义列绑定,c#,devexpress,xtragrid,databound,C#,Devexpress,Xtragrid,Databound,假设我有以下两门课 public class OtherClass { public string OtherName{ get; set; } } public class MyClass { public string TheName { get; set; } public int TheAge { get; set; } } 假设我将XtraGrid绑定到对象数据源(MyClass) 现在,我的场景是,当我用OtherName单击编辑器按钮时,我想填充第一列(
public class OtherClass
{
public string OtherName{ get; set; }
}
public class MyClass
{
public string TheName { get; set; }
public int TheAge { get; set; }
}
假设我将XtraGrid
绑定到对象
数据源(MyClass
)
现在,我的场景是,当我用OtherName
单击编辑器按钮时,我想填充第一列(TheName
),值来自OtherClass
对象的列表(list
)
然后最后将整行传输回MyClass
对象
可能吗?可能是这样的:
List<MyClass> mylist = new List<MyClass>();
mylist.Add(new MyClass() { TheName = "Kirk", TheAge = 56 });
mylist.Add(new MyClass() { TheName = "Spock", TheAge = 403 });
mygrid.DataSource = mylist;
mygrid.MainView.PopulateColumns();
List<OtherClass> all_names = new List<OtherClass>();
继续使用其他名称:
all_names.Add(new OtherClass() { OtherName = "Watson" });
all_names.Add(new OtherClass() { OtherName = "Sherlock" });
通过设计器创建repositoryItemLookUpEdit1
repositoryItemLookUpEdit1.DataSource = all_names;
repositoryItemLookUpEdit1.DisplayMember = "OtherName";
repositoryItemLookUpEdit1.ValueMember = "OtherName";
((DevExpress.XtraGrid.Views.Base.ColumnView)mygrid.MainView).Columns[0].ColumnEdit = repositoryItemLookUpEdit1;
您的数据应该很好可能是这样的:
List<MyClass> mylist = new List<MyClass>();
mylist.Add(new MyClass() { TheName = "Kirk", TheAge = 56 });
mylist.Add(new MyClass() { TheName = "Spock", TheAge = 403 });
mygrid.DataSource = mylist;
mygrid.MainView.PopulateColumns();
List<OtherClass> all_names = new List<OtherClass>();
继续使用其他名称:
all_names.Add(new OtherClass() { OtherName = "Watson" });
all_names.Add(new OtherClass() { OtherName = "Sherlock" });
通过设计器创建repositoryItemLookUpEdit1
repositoryItemLookUpEdit1.DataSource = all_names;
repositoryItemLookUpEdit1.DisplayMember = "OtherName";
repositoryItemLookUpEdit1.ValueMember = "OtherName";
((DevExpress.XtraGrid.Views.Base.ColumnView)mygrid.MainView).Columns[0].ColumnEdit = repositoryItemLookUpEdit1;
您的数据应该很好您可能希望对其进行更好的表述,“编辑器按钮”是什么?您正在谈论的是在源为列表的情况下进行LookupEdit,并且当您从LookupEdit中选择要放置在当前行的“Name”属性中的内容时?很乐意提供帮助,但只需要更好地理解它。您可能想更好地理解它,“编辑器按钮”是什么?您正在谈论的是以列表为源的LookupEdit,当您从LookupEdit中选择要放置在当前行的“Name”属性中的内容?很乐意帮忙,但只是需要更好地理解它。