c # List <> класса из другого List <> класса показывают как RepositoryItemLookUpEdit - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть два класса, которые я заполняю данными из базы данных SQL, в виде списка

public class TMain
{
    public Int32 idreg { get; set; }
    public string regname { get; set; }
    public int regtype { get; set; }
    public decimal regval { get; set; }
    public List<EnumVals> enumvalues { get; set; }
    //...other fields...
}

public class EnumVals
{
    public Int32 enumValue { get; set; }
    public string enumDescription { get; set; }
}

, в результате я получаю список AllRecords.

Этот список я подключаюв DevExpress.XtraGrid.GridControl.

Для конкретного случая, когда значение regtype = 0, определенный столбец должен отображаться как компонент LookUpEdit (RepositoryItemLookUpEdit).

Проблема заключается в том, что яНе удается найти подходящие записи в enumvalues ​​следующим способом.

Пример ниже:

    public partial class fF_main : DevExpress.XtraBars.Ribbon.RibbonForm
    {
        private List<TMain> AllRecords = new List<TMain>();
        RepositoryItemLookUpEdit riCBX = new RepositoryItemLookUpEdit();
    ...
    }       

    private void GrdView_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
        if (e.Column.FieldName == "regval")
        {
            GridView view = sender as GridView;
            int regtype = (int)(view.GetRowCellValue(e.RowHandle, view.Columns["regtype"].ToString()));
            switch (regtype)
            {
                case 0:
                    {
                        riCBX.DataSource = ???;
                        riCBX.ValueMember = "enumValue";
                        riCBX.DisplayMember = "enumDescription";

                        e.RepositoryItem = riCBX;
                        break;
                    }
                case 1:
                    {
                        ///...
                        break;
                    }
            }
        }
    } 
...