9
我使用綁定到實體列表<>的實體組合框。如何添加一個「未選中」條目到組合框?給列表添加null會導致空的組合框。將空條目添加到綁定到實體列表的組合框
我使用綁定到實體列表<>的實體組合框。如何添加一個「未選中」條目到組合框?給列表添加null會導致空的組合框。將空條目添加到綁定到實體列表的組合框
您應該使用空字符串或其他唯一文本模式而不是null。
然後你可以處理Combobox的Format事件來攔截<empty>
並顯示一個替代文本。
private void comboBox1_Format(object sender, ListControlConvertEventArgs e)
{
e.Value = FormatForCombobox(e.ListItem);
}
private string FormatForCombobox(object value)
{
string v = (string) value;
if (v == string.Empty)
v = "<no Selection>";
return v;
}
如果你綁定到實體IEnumerable
列表你當然可以手動添加空對象。
例如
var qry = from c in Entities
select c;
var lst = qry.ToList();
var entity = new Entity();
entity.EntityId= -1;
entity.EntityDesc = "(All)";
lst.Insert(0, entity);
MyComboBox.DataSource = lst;
MyComboBox.DisplayMember = "EntityDesc"
MyComboBox.ValueMember = "EntityId"
我無法組合框,因爲它勢必實體列表中添加任何東西。 – wRAR 2009-09-07 11:18:38
您仍然可以在綁定時添加事件。 – 2009-09-07 11:20:17
它不會幫助,因爲我沒有什麼特別的格式。 – wRAR 2009-09-07 11:34:50