Pregunta

Digamos que tengo las dos clases siguientes

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

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

digamos que enlacé XtraGrid a la fuente de datos Object (MyClass)

Ahora, mi escenario es que quiero llenar la primera columna (TheName) cuando hago clic en Editor button con los valores de OtherName provienen de la lista de objetos OtherClass (List<OtherClass>)

luego, finalmente, transfiera toda la fila de nuevo al objeto MyClass

¿Es eso posible?

¿Fue útil?

Solución

tal vez así:

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

agregue los nombres existentes aquí:

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

continúe con nombres adicionales:

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

crear repositoryItemLookUpEdit1 a través del diseñador

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

y sus datos deberían estar bien

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top