Linq-to-sql значение NULL не отображается в поле со списком, привязанном к FK

У меня есть поле со списком, привязанное к объекту FK (объект, а не поле ID). Поле со списком заполнено Linq-query-ToList (). DisplayMember установлен, ValueMember пуст. Свойство SelectedItem используется для привязки. Все это работает нормально, за исключением случаев, когда FK пуст / ноль, выбирается первый элемент в поле со списком, а если я проверяю объект Linq, я вижу, что FK имеет значение NULL. В этом случае я хочу, чтобы выбранный элемент поля со списком также был нулевым. Я что-то упускаю?


person Roland Deschain    schedule 13.02.2012    source источник


Ответы (1)


Похоже, это работает:

Взято с сайта http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/a530f011-54d9-44d1-a585-145ea28ff370/

«Я тестировал это решение, но это не поможет, если вы привяжете его к настраиваемому объекту и установите для свойства объекта (который привязан к combobox) значение null. Примечание. Я привязываю свойство SelectedItem

мое решение - получить поле со списком и заставить SelectedItem действовать правильно "

class MyComboBox : ComboBox
{
    public new object SelectedItem
    {
        get
        {
            return base.SelectedItem;
        }
        set
        {
            base.SelectedItem = value;
            if (value == null || value == System.DBNull.Value)
            {
                this.SelectedIndex = -1;
            }
        }
    }
}
person Roland Deschain    schedule 17.02.2012