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”属性中的内容?很乐意帮忙,但只是需要更好地理解它。