C# 在数据绑定组合框中选择项
我相信这个问题是个新问题,但我不能用正确的方法解决它 简要说明:C# 在数据绑定组合框中选择项,c#,combobox,databound,C#,Combobox,Databound,我相信这个问题是个新问题,但我不能用正确的方法解决它 简要说明: 我有一个继承自ComboBox的类,该类在构造函数中执行一些数据绑定: var mdl=新模型(); ValueMember=“id”; DisplayMember=“单位”; DataSource=mdl.getUnits(); 这里一切都好。组合框由所需数据填充 然后我有另一个带有函数editingrident的表单。功能如下 公共布尔编辑区(内部id) { currentId=id; var row=mdl.getIngri
非常感谢 您没有说什么是数据源,但我假设这是DataTable,所以您可以这样做:
DataRowView rowData = comboBox1.SelectedItem as DataRowView;
int id = Convert.ToInt32(rowData["id"]);
string name = rowData["unit"].ToString();
使用编辑器中的“代码”按钮概述问题中的代码。这样会得到更多的响应代码>
Show()代码>txtIngridient.Text=(字符串)行[“ingridient”]代码>cmbUnit.ID=(int)行[“unitId”]代码>numNotifyQty.Value=(int)行[“notifyQty”]代码>有效。另一个更新。如果我将在unitId、ingridient和notifyQty的editIngridient函数中设置私有变量,并且在事件形式_Load中,我将通过在editIngridient中设置的私有变量分配控件值-所有工作正常。那个么,为什么我不能在EditingRident函数中直接分配控件(组合框)值呢?我相信你们搞错了。我需要在数据绑定组合框中选择一项。组合框由DataTable中的行填充。这很有效。问题是,当我打开此组合框所在的表单时,在运行ShowDialog之前,我设置了文本框和此组合框的值。设置文本框的值。但当我运行combobox.SelectedValue=3并显示表单时,combobox选择了第一个值。
public bool editIngridient(int id)
{
currentId = id;
var row = mdl.getIngridient(id);
txtIngridient.Text = (string)row["ingridient"];
cmbUnit.ID = (int)row["unitId"];
numNotifyQty.Value = (int) row["notifyQty"];
ShowDialog();
return true;
}
DataRowView rowData = comboBox1.SelectedItem as DataRowView;
int id = Convert.ToInt32(rowData["id"]);
string name = rowData["unit"].ToString();