我在数据绑定Combobox的SelectedValue和Text属性时遇到了问题。以下是相关的代码片段:
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),并且一切都正常。但当我尝试同时绑定两者时就会有问题。只有第一个数据绑定起作用(例如上面的示例中将 LoanPurposeString 绑定到 Text)。如果我改变数据绑定的顺序...
ddLoanPurpose.DataBindings.Add("SelectedValue", _scenario, "LoanPurpose", false);
ddLoanPurpose.DataBindings.Add("Text", _scenario, "LoanPurposeString", false);
...然后我失去了Text与LoanPurposeString的绑定,但现在SelectedValue绑定到了LoanPurpose。所以我的问题有两个方面:为什么这两个绑定都没有与我的_scenario对象连接起来,而且为什么顺序很重要?