2011-03-25 23 views
1

我正在學習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

你的問題是你正試圖添加一個項目到你的DataSource綁定外的組合框。處理此問題的簡單方法是在綁定到組合框之前將其添加到集合中。像這樣:

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