C# 在c中通过数据源连接时从组合框中获取值

C# 在c中通过数据源连接时从组合框中获取值,c#,C#,我是新来的。还有一个大问题,如果你能帮忙,我会非常感激的 我正在开发一个软件,它只是在access文件中输入一些数据,并在使用日期-时间选择器、单选按钮、组合框等进行过滤后检索数据 当我想更新任何条目时,我只需编写一个select查询并将这些值添加到相关字段中。但问题是我不能更新我的组合框。我有两个。当我尝试下面的代码时,它会抛出错误 我能做什么?请帮帮我。谢谢 cmb_district.ValueMember = dt1.Rows[0][1].ToString(); 我使用数据源属性将组合框

我是新来的。还有一个大问题,如果你能帮忙,我会非常感激的

我正在开发一个软件,它只是在access文件中输入一些数据,并在使用日期-时间选择器、单选按钮、组合框等进行过滤后检索数据

当我想更新任何条目时,我只需编写一个select查询并将这些值添加到相关字段中。但问题是我不能更新我的组合框。我有两个。当我尝试下面的代码时,它会抛出错误

我能做什么?请帮帮我。谢谢

cmb_district.ValueMember = dt1.Rows[0][1].ToString();
我使用数据源属性将组合框与access数据库连接起来。它显然有显示和值成员。但当查询返回值时,它不会更新组合框并给出以下错误

无法绑定到新的值成员。 参数名称:value

谢谢。请帮帮我

是这样的

cmb_district.DataSource = dt1;
cmb_district.ValueMember = "SNO"; 
cmb_district.DisplayMember = "Name";
// where SNO and Name are column names in dt1.

您提供的代码行不正确。组合框的ValueMember应设置为要作为选定对象唯一ID值的属性或列的名称,例如。但您正在用字段的内容填充ValueMember

以这种方式绑定组合框时,将数据源设置为DisplayMember和ValueMember的组合,组合框的SelectedValue属性将用所选行的ValueMember字段的值填充

例如,假设您有一个DataTable,其中包含列ActorID、Name和BirthDate,其中包含一些数据:

DataTable dt = new DataTable();
dt.Columns.Add("ActorID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("BirthDate", typeof(DateTime));


dt.Rows.Add(1, "Will Smith", new DateTime(1968,9,25));
dt.Rows.Add(2, "Bruce Willis", new DateTime(1955,3,19));
dt.Rows.Add(3, "Jim Carrey", new DateTime(1962, 1, 17));
dt.Rows.Add(18, "Nicole Kidman", new DateTime(1967,6,20));

ComboBox cb = new ComboBox();
cb.DropDownStyle = ComboBoxStyle.DropDownList;
cb.Location = new Point(20, 100);
cb.Width = 100;

cb.DisplayMember = "Name";  // *****
cb.ValueMember = "ActorID"; // ***** The important part
cb.DataSource = dt;

Button btn = new Button();
btn.Text = "Show ID";
btn.Location = new Point(10, 140);
btn.Click += (sender, e) =>
    {
        MessageBox.Show(cb.SelectedValue.ToString()); // **** The other important part.
    };

Form f = new Form();
f.Controls.Add(cb);
f.Controls.Add(btn);

f.ShowDialog();

当我们读取组合框的SelectedValue时,它会获取所选行的Actoid。

如果yiu想在绑定后选择特定值,请使用以下命令:

cmb_district.SelectedValue = dt1.Rows[0][1].ToString(); 

请参考以下内容。这可能对你有帮助。请提供更多代码。您是如何绑定组合框的?Tanxxx。。不完全是这样的。。又是Tanx了伙计!!:D@nilan59:不客气。如果您有足够的声誉,您可以通过标记为已接受答案和/或追加投票来表示您的感谢。有关更多信息,请参阅。顺便说一句,欢迎来到StackOverflow。