wpf:combobox绑定数据库

  方式一、通过泛型Dictionary绑定

 Dictionary<int, string> mydic = new Dictionary<int, string>() { 
            {0,"aaaa"},
            {1,"bbbb"},
            {2,"cccc"}
            };
            cobxUserType.ItemsSource = mydic;
            cobxUserType.SelectedValuePath = "Key";
            cobxUserType.DisplayMemberPath = "Value";

然后通过cobxUserType.SelectedValue获得选中的值即可

  方法二、通过数据集绑定

WebDictClassServices.WebDictClass webDict = new WebDictClass();
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            BindCombox();
            BindCombox2(comboBox2,0,"选择系列");
            BindCombox2(comboBox3,0,"选择型号");
        }
        //绑定下拉控件1
        private void BindCombox()
        {
            DataTable dt = webDict.GetMainBrand();
            if (dt != null && dt.Rows.Count == 0)
            {
                dt = new DataTable();
                DataColumn dc1 = new DataColumn("Title");
                DataColumn dc2 = new DataColumn("ID");
                dt.Columns.Add(dc1);
                dt.Columns.Add(dc2);
                DataRow row = dt.NewRow();
                row["title"] = "按品牌选择";
                row["ID"] = "0";
                dt.Rows.Add(row);
            }
            else
            {
                DataRow row = dt.NewRow();
                row["title"] = "按品牌选择";
                row["ID"] = "0";
                dt.Rows.Add(row);
            }
            DataView dv=dt.DefaultView;
            dv.Sort=" ID asc";
            combMainBrand.ItemsSource =dv;
            this.combMainBrand.DisplayMemberPath = "Title";
            this.combMainBrand.SelectedValuePath = "ID";
            combMainBrand.SelectedValue = "0";

        }
//绑定下拉控件
        private void BindCombox2(ComboBox comb, int id,string message)
        {
            DataTable dt = null;

            if (id == 0)
            {
                dt = new DataTable();
                DataColumn dc1 = new DataColumn("Title");
                DataColumn dc2 = new DataColumn("ID");
                dt.Columns.Add(dc1);
                dt.Columns.Add(dc2);
                DataRow row = dt.NewRow();
                row["Title"] = message;
                row["ID"] = "0";
                dt.Rows.Add(row);
            }
            else
            {
                dt = webDict.GetCarSeriesByBrand(id);
                DataRow row = dt.NewRow();
                row["Title"] = message;
                row["ID"] = "0";
                dt.Rows.Add(row);
            }
            DataView dv = dt.DefaultView;
            dv.Sort = " ID asc";
            comb.ItemsSource = dv;
            comb.DisplayMemberPath = "Title";
            comb.SelectedValuePath = "ID";
            if (dt.Rows.Count!=0)
            {
              comb.SelectedValue = dt.Rows[0]["ID"];
            }
        }

        private void combMainBrand_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            int id = Convert.ToInt32(combMainBrand.SelectedValue);
            BindCombox2(comboBox2, id, "选择系列");
            BindCombox2(comboBox3, Convert.ToInt32(comboBox2.SelectedValue), "选择型号");
        }

        private void comboBox2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            int id = Convert.ToInt32(comboBox2.SelectedValue);
            BindCombox2(comboBox3, id, "选择型号");
        }
 三、IList绑定(类似winForm)

public class Info
    {
        public int Id { get; set; }
        public string Name { get; set; }

    }
        //绑定用户类型
        private void bindUserType()
        {
            IList<Info> list = new List<Info>() { 
             new Info(){ Id=0, Name="供应商"}, new Info(){ 
              Id=1, Name="bbbbbb"} 
             
            };
            cobxUserType.ItemsSource = list;
            cobxUserType.SelectedValuePath = "Id";
            cobxUserType.DisplayMemberPath = "Name";


        }



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF中,可以使用数据绑定功能将数据库ComboBox控件绑定在一起。下面是实现步骤: 1.在XAML文件中添加ComboBox控件,并设置ItemsSource属性为数据源的名称。例如,如果数据源名称为"myDatabase",则代码应如下: ``` <ComboBox ItemsSource="{Binding myDatabase}" /> ``` 2.在后台代码中,创建一个数据源对象并将其与ComboBox控件绑定。例如,以下代码创建了一个名为"myDatabase"的数据源对象,并将其与ComboBox控件绑定: ``` private void Window_Loaded(object sender, RoutedEventArgs e) { SqlConnection conn = new SqlConnection("Data Source = localhost; Initial Catalog = myDatabase; Integrated Security = True"); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM myTable", conn); SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd); DataTable dataTable = new DataTable("myTable"); dataAdapter.Fill(dataTable); comboBox.DataContext = dataTable.DefaultView; conn.Close(); } ``` 在此示例中,首先创建一个SqlConnection对象,该对象表示与数据库的连接。然后,创建一个SqlCommand对象,该对象用于执行查询以检索数据。接下来,使用SqlDataAdapter对象将检索到的数据填充到DataTable对象中。最后,将DataTable对象的DefaultView设置为comboBox控件的DataContext属性。 以上就是将数据库ComboBox控件绑定在一起的基本步骤。根据具体的需求,还可以在此基础上进行更多的操作和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值