Добавить элемент в выпадающий список перед привязкой данных из базы данных - PullRequest
10 голосов
/ 27 февраля 2011

У меня был комбинированный список в форме Windows Forms, который извлекает данные из базы данных. Я сделал это хорошо, но я хочу добавить первый элемент <-Пожалуйста, выберите Категория-> перед данными из базы данных. Как я могу это сделать? И где я могу это поставить?

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

Ответы [ 6 ]

14 голосов
/ 27 февраля 2011

Вы можете добавить текст по умолчанию в свойство 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;
2 голосов
/ 28 сентября 2012
public class ComboboxItem
{
    public object ID { get; set; }
    public string Name { get; set; }

}

public static List<ComboboxItem> getReligions()
{
    try
    {
        List<ComboboxItem> Ilist = new List<ComboboxItem>();
        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 = "<Select Religion>";
        Ilist.Insert(0, itemSelect);
        return Ilist;
    }
    catch (Exception ex)
    {
        return null;
    }    
}

ddlcombobox.datasourec = getReligions();
0 голосов
/ 15 июля 2017
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);
    }
}
0 голосов
/ 30 декабря 2015

Вы должны добавить "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-->"));
0 голосов
/ 27 февраля 2011

Есть два быстрых подхода, которые вы можете попробовать (у меня нет компилятора, пригодного для тестирования одного из них прямо сейчас):

  1. Добавьте элемент в DataTable перед привязкой данных.
  2. После привязки данных вы можете просто установить CBParent.Text в «<- Выберите категорию ->». Следует установить отображаемый текст, не мешая элементам.
0 голосов
/ 27 февраля 2011
 CBParent.Insert(0,"Please select Category")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...