Adicionar um item à combobox antes de vincular dados do database

Eu tinha uma checkbox de combinação em um formulário do Windows Forms que recupera dados de um database. Eu fiz isso bem, mas quero adicionar primeiro item antes dos dados do database. Como eu posso fazer isso? E onde posso colocar isso?

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

Você pode adicionar o texto padrão à propriedade Text da checkbox de combinação como esta (preferencial):

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

Ou você pode adicionar o valor diretamente à tabela de dados:

 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") 

Você deve adicionar "Please select" depois de vincular os dados.

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

Existem duas abordagens rápidas que você pode tentar (eu não tenho um compilador à mão para testar qualquer uma delas agora):

  1. Adicione o item ao DataTable antes de vincular os dados.
  2. Você deve ser capaz de simplesmente configurar CBParent.Text para “< - Please Select Category ->” depois de vincular os dados. Deve definir o texto exibido sem mexer com os itens.
 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); } }