第一種方法,想修改綁定的數據源之後再綁定,代碼如下:
DataTable dt = EmployerSet.Tables["EmployeesTable"];
DataRow dr = dt.NewRow();
dr["FirstName"] = "--選擇所有--";
dt.Rows.InsertAt(dr, 0);
this.comboBox1.DataSource = dt;
this.comboBox1.DisplayMember = "FirstName";
方法二:
採用了數據源的管理對象BindingContext,先將當前項的值修改之後再賦予呈現成員
this.comboBox1.DataSource = EmployerSet;
DataRowView rowV = (DataRowView)this.BindingContext[EmployerSet, "EmployeesTable"].Current;
rowV["FirstName"] = "--選擇所有--";
this.comboBox1.DisplayMember = "EmployeesTable.FirstName";
你可以測試發現其實 rowV["FirstName"]原本的值就是EmployeesTable.FirstName中的第一個值,只是後來被修改了,接着賦予其呈現成員,這裏之所以修改數據源會成功,我自己的認爲是使用到了數據的管理對象,就好像是管理員可以修改一樣而別人無法修改!