ComboBox.ValueMember和DisplayMember如何设置这个值?我有一个数据表,其中包含我想在组合框中设置的所有数据,但我不知道如何设置它。我试过ComboBox1.DataSource=dataTable;ComboBox1.ValueMember="id";//-->一旦他在这里,他就跳出方法ComboBox1.DisplayMember="name";没有编译错误,警告,什么都没有..弹出!这是填充数据表的查询“从“表”中选择*”我检查了调试器并填充了数据表。列名是“id”和“name”。组合框为空。我是第一次填写!您不应以此顺序设置列表框和/或组合框的数据源ComboBox1.DataSource=dataTable;ComboBox1.ValueMember="id";ComboBox1.DisplayMember="名称";相反,这是正确的顺序:ComboBox1.ValueMember="id";ComboBox1.DisplayMember="名称";ComboBox1.DataSource=数据表;注意:设置数据源应该是最后一行。如果您首先设置数据源,将触发SelectedIndexChanged事件,您可能会遇到转换错误或其他异常。ComboBox1.DataSource=dt;//包含数据的数据表ComboBox1.ValueMember="id";//SelectedValueComboBox1.DisplayMember="name";你想要的列名//你需要显示为文本的列名他们采集取串...ComboBox1.ValueMember="id";ComboBox1.DisplayMember="名称";publicclassComboDeger{privatestringyazi;私人intdeger;publicComboDeger(stringstryazi,intstrdeger){this.yazi=stryazi;this.deger=strdeger;}publicstringyazisi{get{returnyazi;}}publicintdegeri{get{returndeger;}}}privatevoidcombobox_doldur(){ArrayListComboDegerleri=newArrayList();ComboDegerleri.Add(newComboDeger("9:NORMAL",9));ComboDegerleri.Add(newComboDeger("10:ENGELL?",10));comboBox1.DataSource=ComboDegerleri;comboBox1.DisplayMember="yazisi";comboBox1.ValueMember="degeri";}privatevoidForm3_Load(objectsender,EventArgse){con.Open();combobox_doldur();//填充COMBOBOX使用数组作为数据源。我遇到了同样的麻烦在我的例子中,SelectedIndexChanged事件被触发并跳出方法。尽量不要使用SelectedIndexChanged事件。或类似的东西:ComboBox1.SelectedIndexChanged-=newSystem.EventHandler(ComboBox1_SelectedIndexChanged);ComboBox1.DataSource=数据表;ComboBox1.ValueMember="id";ComboBox1.DisplayMember="名称";ComboBox1.SelectedIndexChanged+=newSystem.EventHandler(ComboBox1_SelectedIndexChanged);这个对我有用。=)用键值对填充组合框填充组合框的一种巧妙方法是将数据源设置为键值对列表。它也可能激发使用存储在某种列表中的数据://Somevaluestoshowincomboboxstring[]ports=newstring[3]{"COM1","COM2","COM3"};//将数据源设置为转换为键值对列表的字符串数组combobox.Datasource=ports.Select(p=>newKeyValuePair(p,p)).ToList();//配置组合控件combobox.DisplayMember="Key";combobox.ValueMember="值";combobox.SelectedValue=ports[0];也可以使用以下语法填充数据源:ports.Select(p=>new{Key=p,Value=p}).ToList();可以使用多列列表的更多属性名称扩展了此技术。可以这样指定以上为C#学习教程:ComboBox.ValueMember和DisplayMember分享所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—ComboBox1.ValueMember="id";ComboBox1.DisplayMember="名称";ComboBox1.ValueMember=dataTable.Columns["id"].ColumnsName;//值不可见的列名ComboBox1.DisplayMember=dataTable.Columns["name"].ColumnsName;/*需要选择项目的列名:ComboBox1.SelectedItem;或者你可以很容易地使用这个:ComboBox1.Text;*/ComboBox1.DataSource=数据表;//包含数据的数据表//这应该是最后一个:)本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
