我有一个Windows窗体中的组合框,可以从数据库中检索数据。我做得很好,但我想添加第一项< -Please select Category->来自数据库的数据之前。我怎样才能做到这一点?我在哪里可以说出来?
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";
}
}
答案 0 :(得分:13)
您可以将默认文本添加到组合框的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;
答案 1 :(得分:2)
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();
答案 2 :(得分:0)
CBParent.Insert(0,"Please select Category")
答案 3 :(得分:0)
您可以尝试两种快速方法(我没有编译器方便现在测试任何一种方法):
DataTable
。CBParent.Text
设置为“&lt; - 请选择类别 - &gt;”绑定数据后。它应该设置显示的文本而不会弄乱项目。答案 4 :(得分:0)
绑定数据后,您应该添加"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-->"));
答案 5 :(得分:-1)
Allow