Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向绑定到实体列表的组合框添加空条目_C#_Winforms_Entity Framework_Data Binding_Combobox - Fatal编程技术网

C# 向绑定到实体列表的组合框添加空条目

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

我使用一个绑定到实体列表的组合框。如何将“未选择”项添加到组合框中?将null添加到列表会导致组合框为空。

您应该使用空字符串或其他唯一的文本模式,而不是null

然后,您可以处理组合框的Format事件来截取
并显示备用文本

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。该特殊项应为实体对象。那么如何创建一个伪实体对象呢?它应该有什么实体键?