C# 向绑定到实体列表的组合框添加空条目
我使用一个绑定到实体列表的组合框。如何将“未选择”项添加到组合框中?将null添加到列表会导致组合框为空。您应该使用空字符串或其他唯一的文本模式,而不是null 然后,您可以处理组合框的Format事件来截取C# 向绑定到实体列表的组合框添加空条目,c#,winforms,entity-framework,data-binding,combobox,C#,Winforms,Entity Framework,Data Binding,Combobox,我使用一个绑定到实体列表的组合框。如何将“未选择”项添加到组合框中?将null添加到列表会导致组合框为空。您应该使用空字符串或其他唯一的文本模式,而不是null 然后,您可以处理组合框的Format事件来截取并显示备用文本 private void comboBox1_Format(object sender, ListControlConvertEventArgs e) { e.Value = FormatForCombobox(e.ListItem); } private stri
并显示备用文本
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;
}
private void comboBox1_格式(对象发送方,ListControlConvertEventArgs e)
{
e、 值=FormatForCombobox(例如ListItem);
}
专用字符串FormatForCombobox(对象值)
{
字符串v=(字符串)值;
if(v==string.Empty)
v=“”;
返回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"
我无法向组合框添加任何内容,因为它已绑定到实体列表。绑定时,您仍然可以添加事件。我无法向组合框添加任何内容,因为它已绑定到实体列表。您可以向列表添加特殊项,向组合框添加eventhandler。该特殊项应为实体对象。那么如何创建一个伪实体对象呢?它应该有什么实体键?