2009-05-13 21 views
5

Tôi có thể Ràng buộc DataGrid của tôi trong .NET 3.5 CF vào một Danh sách() nhưng tôi không thể định dạng các cột bằng cách xác định chiều rộng của chúng. Dưới đây là mã có vẻ như nó sẽ làm việc nhưng không. Tôi khá chắc chắn rằng tôi không thiết lập MappingName chính xác như tất cả các hướng dẫn cho bạn biết để đặt nó vào tên của DataTable của bạn nhưng tôi không ràng buộc với một DataTable vì vậy tôi không yên tĩnh chắc chắn phải làm gì.DataGrid MappingName cho một DataSource không DataTable là gì?

  grdBatch.DataSource = InventoryItems; 

     DataGridTableStyle tableStyle = new DataGridTableStyle(); 
     tableStyle.MappingName = InventoryItems.ToString(); 
     DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn(); 
     tbcName.Width = 400; 
     tbcName.MappingName = "SERIAL_ID"; 
     tbcName.HeaderText = "SERIAL_ID"; 
     tableStyle.GridColumnStyles.Add(tbcName); 
     grdBatch.TableStyles.Clear(); 
     grdBatch.TableStyles.Add(tableStyle); 

grdBatch là một DataGrid và InventoryItems là danh sách POCOS (Plain cũ C# Objects).

Trả lời

15

Thay đổi:

tableStyle.MappingName = InventoryItems.ToString(); 

để

tableStyle.MappingName = InventoryItems.GetType().Name; 
+0

Đây chính là điều tôi sẽ viết. +1. –

+0

hoạt động như một sự quyến rũ. –

Các vấn đề liên quan