我有大约10个组合框。它们都使用.xsd文件填充了表适配器。 我正在使用Linq to SQL来获取特定行,并将组合框默认为该行的某些列。这是我的组合框代码
cmbCompany.Text = query.intAcctCo.ToString();
cmbCompanyRec.Text = query.intAcctCoRec.ToString();
cmbProgramCodes.Text = query.chrPgmCode;
cmbCarrierCodes.Text = query.intCarrierCode.ToString();
cmbDealerNumber.Text = query.chrDlrNum;
cmbCoverageCodes.Text = query.chrCvgCode;
cmbPayeeType.Text = query.chrPayeeType;
cmbFeeType.Text = query.chrFeeType;
cmbPayeeCodes.Text = query.intPayeeCode.ToString();
cmbTransactionTypes.Text = query.chrTransType;
这是查询
var query =
(from z in dc.tblActgPayeeTransactionAccounts2
where z.intActgAcctID == unique
select z).FirstOrDefault();
“unique”只是特定行的标识符
所有带有“ToString()”的东西都正常工作而另一些则没有。我尝试了多件没有运气的东西。它甚至表明,当我将鼠标悬停在调试模式时,它们具有文本所需的值,但是当页面加载时,它们是空白的。我已经尝试将“ToString()”添加到其他人,即使他们已经是字符串,没有运气。想法?
我正在使用Visual Studio 2013,4.5.1的.net框架。组合框的所有xaml都是相同的。
答案 0 :(得分:1)
您需要正确构建数据。你说:
我正在使用Linq to SQL来获取特定的行
将该行数据放入自定义类中,每个列的属性为public
,然后data bind为ComboBox
个。然后,您可以添加额外的属性以反映每个ComboBox
中的所选项目,并将数据绑定到每个ComboBox.SelectedItem
的{{1}}属性:
ComboBox
然后,当您想从代码中选择一个项目时,您可以这样做:
<ComboBox ItemsSource="{Binding YourCollectionProperty}"
SelectedItem="{Binding YourSelectedItemProperty, Mode=TwoWay}" />
或者这个:
YourSelectedItemProperty = YourCollectionProperty.FirstOrDefault();
我建议您对MSDN上的链接数据绑定页面进行长时间阅读。