2

次の2つのクラスがあるとしましょう

public class OtherClass
{
    public string OtherName{ get; set; }
}

public class MyClass
{
    public string TheName { get; set; }
    public int TheAge { get; set; }
}

をデータソースにバインドしたとしましょうXtraGrid( )ObjectMyClass

さて、私のシナリオでは、オブジェクトのリストから取得した値( ) TheNameをクリックしたときに、最初の列()にEditor buttonデータを入力します。OtherNameOtherClassList<OtherClass>

最後に、行全体をMyClassオブジェクトに戻します

それは可能ですか?

4

1 に答える 1

0

多分このように:

        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>();

ここに既存の名前を追加します:

        foreach (var item in mylist)
            all_names.Add( new OtherClass() { OtherName = item.TheName } );

追加の名前を続けます:

        all_names.Add(new OtherClass() { OtherName = "Watson" });
        all_names.Add(new OtherClass() { OtherName = "Sherlock" });

Designerを介してrepositoryItemLookUpEdit1を作成します

        repositoryItemLookUpEdit1.DataSource = all_names;
        repositoryItemLookUpEdit1.DisplayMember = "OtherName";
        repositoryItemLookUpEdit1.ValueMember = "OtherName";
        ((DevExpress.XtraGrid.Views.Base.ColumnView)mygrid.MainView).Columns[0].ColumnEdit = repositoryItemLookUpEdit1;

そしてあなたのデータはうまくいくはずです

于 2011-12-07T19:51:17.207 に答える