none
wpf combobox动态绑定 RRS feed

  • 问题

  • 从数据库中查询出当前用户的所有表,怎么绑定到combobox上呢?新人,给个示例。Model就有一个tableName字段。

    private void Bind() 
            {
                //连接数据库
                OracleConnection oraCon = new OracleConnection(System.Configuration.ConfigurationManager.AppSettings["oraConnection"]);
                //DataAdapter填充Dataset
                OracleDataAdapter oraDap = new OracleDataAdapter("SELECT * FROM USER_TABLES", oraCon);
                //创建dataset
                DataSet ds = new DataSet();
                oraDap.Fill(ds);
                DataTable dt = ds.Tables[0];
                cboChooseTable.DataContext = dt;
            }
    我代码,最后一行绑定肯定是错的,我一直没搞明白如何绑定comboBox。

    2012年7月2日 1:14

答案

  • Hi Planet,

    combobox.ItemsSource = dt.DefaultView;
    combobox.DisplayMemberPath = "....";

    你需要指定Combobox的 ItemsSource 和DisplayMemberPath 属性。 如果你需要得到Combobox selectedvalue的话, 你还需要指定SelectedValuePath 属性。

    你可以看下MSDN文档对这几个属性的介绍。http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.aspx

    希望可以帮到你!


    Kee Poppy [MSFT]
    MSDN Community Support | Feedback to us

    2012年7月2日 11:36
    版主
  • 1.首先连接数据库获取数据库DataSet

    2.绑定ComboBox

    this.combobox1.ItemsSource = ds.Tables[0].DefaultVew;

    this.combobox1.DisplayMemberPath = "显示值(一般为数据库的列名)";

    this.combobox1.SelectedValuePath = "隐藏值(一般为数据库列名,如,id)"

    这是最简单的!

    • 已建议为答案 nj_wy 2012年7月4日 5:50
    • 已标记为答案 Jie BaoModerator 2012年7月16日 7:00
    2012年7月4日 1:56

全部回复

  • Hi Planet,

    combobox.ItemsSource = dt.DefaultView;
    combobox.DisplayMemberPath = "....";

    你需要指定Combobox的 ItemsSource 和DisplayMemberPath 属性。 如果你需要得到Combobox selectedvalue的话, 你还需要指定SelectedValuePath 属性。

    你可以看下MSDN文档对这几个属性的介绍。http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.aspx

    希望可以帮到你!


    Kee Poppy [MSFT]
    MSDN Community Support | Feedback to us

    2012年7月2日 11:36
    版主
  • 1.首先连接数据库获取数据库DataSet

    2.绑定ComboBox

    this.combobox1.ItemsSource = ds.Tables[0].DefaultVew;

    this.combobox1.DisplayMemberPath = "显示值(一般为数据库的列名)";

    this.combobox1.SelectedValuePath = "隐藏值(一般为数据库列名,如,id)"

    这是最简单的!

    • 已建议为答案 nj_wy 2012年7月4日 5:50
    • 已标记为答案 Jie BaoModerator 2012年7月16日 7:00
    2012年7月4日 1:56