2009-09-07 35 views

Trả lời

2

Bạn nên sử dụng chuỗi trống hoặc mẫu văn bản duy nhất khác thay vì null.

Và sau đó Bạn có thể xử lý sự kiện Định dạng của Hộp tổ hợp để chặn <empty> và hiển thị văn bản thay thế.

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

tôi không thể thêm bất cứ điều gì để combobox bởi vì nó được liên kết với danh sách các thực thể. – wRAR

+0

Bạn vẫn có thể thêm sự kiện khi nó bị ràng buộc. –

+0

Nó sẽ không giúp đỡ bởi vì tôi không có gì đặc biệt để định dạng. – wRAR

7

Nếu bạn đang ràng buộc với IEnumerable danh sách các đối tượng, bạn có thể chắc chắn thêm đối tượng trống của mình theo cách thủ công.

Ví dụ

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" 
Các vấn đề liên quan