Entity Framework и комбо-связывание в выигрышных приложениях - PullRequest
1 голос
/ 25 марта 2011

я учусь EF. я связываю свой комбо, используя структуру лица. мой код был похож на

SchoolEntities schoolContext = new SchoolEntities();

var departmentQuery = from d in schoolContext.Departments.Include("Courses")
                  orderby d.Name
                  select d;
try
{
    this.cbodepartmentList.DisplayMember = "Name";
    this.cbodepartmentList.DataSource = ((ObjectQuery)departmentQuery).Execute(MergeOption.AppendOnly);
    cbodepartmentList.item.insert(0,"--Select--");
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

Когда я пытаюсь добавить элемент после связывания комбо, я получаю сообщение об ошибке. cbodepartmentList.item.insert (0, "- Выберите -");

поэтому, пожалуйста, скажите мне, как добавить свой собственный текст в комбо после его привязки. потому что требуется некоторое время, чтобы добавить текст, например, "--Select--" в комбо. пожалуйста, руководство с кодом. спасибо

1 Ответ

1 голос
/ 25 марта 2011

Ваша проблема в том, что вы пытаетесь добавить элемент в выпадающий список вне привязки вашего источника данных. Самый простой способ справиться с этим - добавить дополнительные элементы в коллекцию перед привязкой к списку. Примерно так:

var departments = schoolContext.Departments.Include("Courses").OrderBy(d => d.Name).ToList();
departments.Insert(0, new Department() { Name = "--Select--" });

try
{    
    this.cbodepartmentList.DisplayMember = "Name";
    this.cbodepartmentList.DataSource = departments;
}
catch (Exception ex)
{    
    MessageBox.Show(ex.Message);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...