سؤال

دعنا نقول أن لدي الفئتين التاليتين

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

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

دعنا نقول أنني ملزمة XtraGrid إلى Object مصدر البيانات (MyClass )

الآن ، السيناريو الخاص بي هو أنني أريد ملء العمود الأول (TheName) عند النقر فوق Editor button مع OtherName جاءت القيم من قائمة OtherClass كائن (List<OtherClass>)

ثم أخيرا نقل الصف بأكمله مرة أخرى إلى 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>();

أضف الأسماء الموجودة هنا :

        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" });

إنشاء مستودعإيتملوكوبيديت 1 عبر مصمم

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

وينبغي أن تكون البيانات الخاصة بك على ما يرام

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top