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;
    }

ComboBox SelectedItem属性不会改变

我想我明白了。SelectedItem属性是DataRowView而不是DataRow。这解释了为什么它没有选择正确的值。用SelectedValue代替:)

https://social.msdn.microsoft.com/forums/windows/en us/77b23eb9 - 112 f - 4 -有限元分析9 d3a - 486 - b822f22ea/combobox datatable设置selecteditem