У меня есть два класса, которые я заполняю данными из базы данных 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;
}
}
}
}