在绑定数据库中的数据之前,将项添加到combobox

我有一个Windows窗体表格中的combobox,它从数据库中检索数据。 我做得很好,但我想在数据库中添加第一项。 我怎样才能做到这一点? 我在哪里可以把它?

public Category() { InitializeComponent(); CategoryParent(); } private void CategoryParent() { using (SqlConnection Con = GetConnection()) { SqlDataAdapter da = new SqlDataAdapter("Select Category.Category, Category.Id from Category", Con); DataTable dt = new DataTable(); da.Fill(dt); CBParent.DataSource = dt; CBParent.DisplayMember = "Category"; CBParent.ValueMember = "Id"; } } 

您可以将默认文本添加到combobox的Text属性中,如下所示(首选):

 CBParent.Text = "<-Please select Category->"; 

或者,您可以直接将值添加到数据表中:

 da.Fill(dt); DataRow row = dt.NewRow(); row["Category"] = "<-Please select Category->"; dt.Rows.InsertAt(row, 0); CBParent.DataSource = dt; 
 public class ComboboxItem { public object ID { get; set; } public string Name { get; set; } } public static List getReligions() { try { List Ilist = new List(); var query = from c in service.Religions.ToList() select c; foreach (var q in query) { ComboboxItem item = new ComboboxItem(); item.ID = q.Id; item.Name = q.Name; Ilist.Add(item); } ComboboxItem itemSelect = new ComboboxItem(); itemSelect.ID = "0"; itemSelect.Name = " 
  CBParent.Insert(0,"Please select Category") 

绑定数据后应添加"Please select"

 var query = from name in context.Version join service in context.Service on name.ServiceId equals service.Id where name.VersionId == Id select new { service.Name }; ddlService.DataSource = query.ToList(); ddlService.DataTextField = "Name"; ddlService.DataBind(); ddlService.Items.Insert(0, new ListItem("<--Please select-->")); 

您可以尝试两种快速方法(我没有编译器方便现在测试任何一种方法):

  1. 在绑定DataTable之前将项添加到DataTable
  2. 在绑定数据后,您应该能够简单地将CBParent.Text设置为“< - 请选择类别 - >”。 它应该设置显示的文本而不会弄乱项目。
 void GetProvince() { SqlConnection con = new SqlConnection(dl.cs); try { SqlDataAdapter da = new SqlDataAdapter("SELECT ProvinceID, ProvinceName FROM Province", con); DataTable dt = new DataTable(); int i = da.Fill(dt); if (i > 0) { DataRow row = dt.NewRow(); row["ProvinceName"] = "<-Selecione a Provincia->"; dt.Rows.InsertAt(row, 0); cbbProvince.DataSource = dt; cbbProvince.DisplayMember = "ProvinceName"; cbbProvince.ValueMember = "ProvinceID"; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }