在wpf C#中填充公共类的组合框

时间:2015-07-09 04:04:36

标签: c# wpf

我已经在WPF C#中创建了一个用于填充组合框的公共类,但它不起作用。我正在寻找一个用于在WPF C#

中填充组合框的公共类
     public void comboFill(ComboBox cmb, string procedureName, string dTable,   string dDisplay, string dValue)
    {
       try
        {
           using (SqlConnection con = new SqlConnection(DBCon.conStr))
            {
                DataSet ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter(procedureName, con);
                da.SelectCommand.CommandType = CommandType.StoredProcedure;
                da.Fill(ds, dTable);
                cmb.DataSource = ds.Tables[dTable].DefaultView;
                cmb.DisplayMember = dDisplay;
                cmb.ValueMember = dValue;
                if (cmb.Items.Count > 0)
                {
                  cmb.SelectedIndex = 0;
                }
            }

        }
        catch (Exception exp)
        {
            MessageBox.Show(exp.Message);
        }
    }

1 个答案:

答案 0 :(得分:0)

您确定正确使用Combobox吗?我只是检查了组合框没有属性 DataSource 。您可以使用 ItemsSource 属性来填充您的框

cmb.ItemsSource = ds.Tables[dTable].DefaultView;

您也可以在XAML中绑定相同的内容

<ComboBox ItemSource="{Binding MyData}" SelectedIndex=0/>

并在您的代码中:

var MyData = ds.Tables[dTable].DefaultView;