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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值