List<T>直接充当Combox控件DataSource并扩展自定义记录的方法
一般认为List只有转换为DataTable后才能充当CombBox的数据源,其实不然:
List<SYS_COMMANDS> comdList = _menuMan.Load(c => c.FATHER_ID == null).OrderBy(c=>c.VAL_DISPLAYORDERID).ToList(); //句首类型换成var也可以
SYS_COMMANDS sys = new SYS_COMMANDS(); //添加非数据库内容的自定义记录
sys.SYS_COMMANDS_ID = 0;
sys.TXT_COMMANDTITLE = "顶层菜单";
comdList.Insert(0, sys);
combRootMenu.DisplayMember = "TXT_COMMANDTITLE"; //设置数据源
combRootMenu.ValueMember = "SYS_COMMANDS_ID";
combRootMenu.DataSource = comdList;