ComboBox SelectedItem属性不会改变
本文关键字:改变 属性 SelectedItem ComboBox | 更新日期: 2023-09-27 18:09:44
你好,我有一个问题的组合框。
在开始documentTypeComboBox.SelectedItem
值为null,然后GetDataRow()
方法返回DataRow,这不是null(100%肯定它返回不空值为我的测试)
毕竟SelectedItem属性的值仍然是空的。不知道怎么了。我100%确定返回的DataRow被分配为comboBox数据源行
public void SetDefaultData()
{
documentTypeComboBox.SelectedItem = null;
dataWystawieniaDate.Value = _Faktura.DataWystawienia;
dataSprzedazyDate.Value = _Faktura.DataSprzedazy;
warehouseComboBox.SelectedItem = Helpers.GetDataRow(_Dictionary.Magazines, _Faktura.Magnum);
paymentMethodComboBox.SelectedItem = Helpers.GetDataRow(_Dictionary.SpPaymentMethodsData, _Faktura.IdSposobuPlatnosci);
priceComboBox.SelectedItem = Helpers.GetDataRow(_Dictionary.PricesData, _Faktura.RodzajCeny);
discountComboBox.SelectedItem = Helpers.GetDataRow(_Dictionary.RabatyData, _Faktura.RodzajRabatu);
documentTypeComboBox.SelectedItem = Helpers.GetDataRow(_Dictionary.SpDocumentsCodes, _Faktura.Kod, documentTypeComboBox.DisplayMember);
documentNumberTextBox.Text = _Faktura.Numer;
kwotaBruttoTextBox.Text = _Faktura.PlnWartoscBrutto.ToString();
}
public static DataRow GetDataRow(DataTable dt, string value, string fieldName)
{
foreach (DataRow dr in dt.Rows)
{
if (dr[fieldName].ToString() == value)
return dr;
}
return null;
}
我想我明白了。SelectedItem属性是DataRowView而不是DataRow。这解释了为什么它没有选择正确的值。用SelectedValue代替:)
https://social.msdn.microsoft.com/forums/windows/en us/77b23eb9 - 112 f - 4 -有限元分析9 d3a - 486 - b822f22ea/combobox datatable设置selecteditem