2009-09-07 12 views

Odpowiedz

2

Należy użyć pustego ciągu lub innego unikatowego wzorca tekstowego zamiast wartości zerowej.

A następnie można obsługiwać zdarzenia Format Combobox, aby przechwycić <empty> i wyświetlić alternatywny tekst.

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

Nie mogę dodać nic do combobox, ponieważ jest ona związana z listy podmiotów. – wRAR

+0

Nadal można dodać wydarzenie po związaniu. –

+0

To nie pomoże, ponieważ nie mam nic specjalnego do sformatowania. – wRAR

7

Jeśli łączysz się z IEnumerable listą elementów, możesz z pewnością dodać pusty obiekt ręcznie.

Na przykład

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"