【发布时间】:2011-05-18 14:18:28
【问题描述】:
我在将数据绑定到 Combobox 的 SelectedValue 和 Text 属性时遇到问题。下面是相关代码sn-p:
DataTable dt1 = DataAccess.GetLoanPurposes();
ddLoanPurpose.DisplayMember = "Name";
ddLoanPurpose.ValueMember = "Value";
ddLoanPurpose.DataBindings.Add("Text", _scenario, "LoanPurposeString", false);
ddLoanPurpose.DataBindings.Add("SelectedValue", _scenario, "LoanPurpose", false);
ddLoanPurpose.DataSource = dt1;
我可以绑定到 Text 或 SelectedValue 中的任何一个,一切都运行良好。当我尝试绑定到 both 时,麻烦就来了。只有第一个数据绑定有效(上面示例中的 Text to LoanPurposeString)。如果我切换数据绑定的顺序...
ddLoanPurpose.DataBindings.Add("SelectedValue", _scenario, "LoanPurpose", false);
ddLoanPurpose.DataBindings.Add("Text", _scenario, "LoanPurposeString", false);
...然后我失去了 Text 到 LoanPurposeString 的绑定,但现在 SelectedValue 绑定到了 LoanPurpose。所以我的问题是双重的:为什么两个绑定都不连接到我的 _scenario 对象,为什么顺序很重要?
【问题讨论】:
-
你想通过绑定“文本”属性来实现什么?你不需要它。 ddLoanPurpose.DataBindings.Add("Text", _scenario, "LoanPurposeString", false);
标签: c# winforms data-binding