2009-09-07 21 views

答えて

2

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; 
} 
+0

それはエンティティのリストにバインドされているので、私はコンボボックスには何も追加することはできません。 – wRAR

+0

イベントがバインドされている場合でも、イベントを追加できます。 –

+0

フォーマットに特別なものはないので、助けにならないでしょう。 – wRAR

7

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" 
関連する問題