日期:2014-05-18  浏览次数:21466 次

ComboBox绑定数据源
当ComboBox绑定数据源后ComboBox.DataSource=dt;
ComboBox.DisplayMember="name";
ComboBox.ValueMember="id";

当选择一项后,怎么分别获取对应的显示的值,就是name,和id

还有就是我有一个id=1000,想赋值,让ComboBox选择id=1000,显示对应的name

请高手指教,且一定要验证,不要以为对就写答案……


------解决方案--------------------
不知道“一定要验证”是什么。绑定是不能支持验证的。

你可以自己循环添加数据。
------解决方案--------------------
不直接绑定dataTable,用一个for循环dataTable中的每一个name,然后将每一行的name赋值给comboBox。。。
------解决方案--------------------
当选择一项后,怎么分别获取对应的显示的值,就是name,和id,这个简单,相信你搞的定


还有就是我有一个id=1000,想赋值,让ComboBox选择id=1000,显示对应的name
看得我糊里糊涂
------解决方案--------------------
遍历吧 估计是
------解决方案--------------------
ASP.NET的下拉菜单可以直接绑定dataTable的。。可以设置显示的字段名。。

HTML code

 <asp:DropDownList ID="DropDownListCatelog" runat="server" 
DataSourceID="DSCatelogItems" DataTextField="ITEMNAME" 
 DataValueField="ITEMNAME">

------解决方案--------------------
winform or wpf?
------解决方案--------------------
C# code

//取选定项值
          DataRowView dr = comboBox1.SelectedItem as DataRowView;
          int mid =(int)dr.Row["id"];
          string str = dr.Row["name"].ToString();

//取ID=1000用
DataTable drw= comboBox1.DataSource as DataTable;
           DataRow[] str = drw.Select("id=1000");
           foreach (var sd in str)
           {
               string str1 = sd["name"].ToString();
           }