Linq-to-sql Нулевата стойност не се показва в падащия списък, свързан с FK

Имам падащ списък, който е обвързан с FK обект (обекта, а не ID-полето). Разгъващият се списък се попълва с Linq-query-ToList(). DisplayMember е зададен, ValueMember е празен. Свойството SelectedItem се използва за обвързване. Всичко това работи добре, освен ако FK е празен/нулев, първият елемент в падащия списък е избран, докато ако проверя Linq-обекта, мога да видя, че FK е нулев. В този случай искам избраният елемент от падащия списък също да е нула. Изпускам ли нещо?


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) на нулева стойност. Забележка: Обвързвам свойството 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