问题描述
有以下代码:publicpartialclassForm1:Form{publicclassComboBoxMember{publicstringId{get;set;}publicstringText{get;set;}}List<ComboBoxMember>list=newList<ComboBoxMember>();publicForm1(){InitializeComponent();list=newList<ComboBoxMember>(){newComboBoxMember(){Id="0",Text="张三a"},newComboBoxMember(){Id="1",Text="李四abc"},newComboBoxMember(){Id="2",Text="张三三adbx"},newComboBoxMember(){Id="3",Text="李四四"},newComboBoxMember(){Id="4",Text="张张三"},newComboBoxMember(){Id="5",Text="李李四"}};comboBox1.Items.AddRange(list.ToArray());comboBox1.DisplayMember="Text";comboBox1.ValueMember="Id";}}其中有这里面的数据,我是从数据库直接获取到的DataTable列表,怎样放入到list里呢?以下目前是写死固定的。list=newList<ComboBoxMember>(){newComboBoxMember(){Id="0",Text="张三a"},newComboBoxMember(){Id="1",Text="李四abc"},newComboBoxMember(){Id="2",Text="张三三adbx"},newComboBoxMember(){Id="3",Text="李四四"},newComboBoxMember(){Id="4",Text="张张三"},newComboBoxMember(){Id="5",Text="李李四"}};
解决方案
解决方案二:
1.改写数据库检索层,直接赋值ComboBoxMember替换table2.把table里的数据循环赋值ComboBoxMember
解决方案三:
直接赋值为DataTable,属性设置分别为列名称即可。或者
解决方案四:
引用楼主lsp69的回复:
有以下代码:publicpartialclassForm1:Form{publicclassComboBoxMember{publicstringId{get;set;}publicstringText{get;set;}}List<ComboBoxMember>list=newList<ComboBoxMember>();publicForm1(){InitializeComponent();list=newList<ComboBoxMember>(){newComboBoxMember(){Id="0",Text="张三a"},newComboBoxMember(){Id="1",Text="李四abc"},newComboBoxMember(){Id="2",Text="张三三adbx"},newComboBoxMember(){Id="3",Text="李四四"},newComboBoxMember(){Id="4",Text="张张三"},newComboBoxMember(){Id="5",Text="李李四"}};comboBox1.Items.AddRange(list.ToArray());comboBox1.DisplayMember="Text";comboBox1.ValueMember="Id";}}其中有这里面的数据,我是从数据库直接获取到的DataTable列表,怎样放入到list里呢?以下目前是写死固定的。list=newList<ComboBoxMember>(){newComboBoxMember(){Id="0",Text="张三a"},newComboBoxMember(){Id="1",Text="李四abc"},newComboBoxMember(){Id="2",Text="张三三adbx"},newComboBoxMember(){Id="3",Text="李四四"},newComboBoxMember(){Id="4",Text="张张三"},newComboBoxMember(){Id="5",Text="李李四"}};
引用1楼xdashewan的回复:
1.改写数据库检索层,直接赋值ComboBoxMember替换table2.把table里的数据循环赋值ComboBoxMember
不知道怎样赋值到对象数组里,把代码写一下吧
解决方案五:
list=newList<ComboBoxMember>();Foreach(DataRowitemindt.Rows){ComboBoxMemberc=newComboBoxMember(){Id=item["Id"],Text=item["Text"]};list.add(c);}
解决方案六:
//comboBox可以直接绑定datatablecomboBox1.DataSource=datatable;comboBox1.DisplayMember="Text";comboBox1.ValueMember="Id";