2013-02-18 34 views
9

hi tôi muốn để ràng buộc một DataTable với nhiều cột để một DataGrid trong codebehindDataTable như DataGrid.ItemsSource

var dt = new DataTable(); 

    dt.Columns.Add(new DataColumn("1")); 
    dt.Columns.Add(new DataColumn("2")); 
    dt.Columns.Add(new DataColumn("3")); 

    dt.Rows.Add(ff.Mo); 
    dt.Rows.Add(ff.Di); 
    dt.Rows.Add(ff.Mi); 
    dt.Rows.Add(ff.Do); 
    dt.Rows.Add(ff.Fr); 
    dt.Rows.Add(ff.Sa); 
    dt.Rows.Add(ff.So); 
// ff is a object that contains List<myCellObj> 

DataGrid DGrid = new DataGrid(); 
for (int i = 0; i < 3; i++) 
{ 
    DataGridTemplateColumn templateColumn = new DataGridTemplateColumn(); 
    templateColumn.HeaderTemplate = HeaderDt; 
    templateColumn.CellTemplate = ItemDt; //specified DataTemplate for myCellObj 

    DGrid.Columns.Add(templateColumn); 
} 

nay làm thế nào để tôi đặt tôi dt như ItemsSource, Datacontext hoặc những gì bao giờ hết để có được nó để tôi View cũng nếu bạn có thể cung cấp cho tôi một cách để ràng buộc trực tiếp đến bất cứ điều gì Object ff

tôi có thể giúp được đánh giá rất

+1

http://stackoverflow.com/questions/6984686/convert-and-use-datatable-in-wpf-datagrid –

+0

@AbZy vâng tôi đã thử nó và có nó không hoạt động – WiiMaxx

+0

@moncadad chính xác những gì tôi đang tìm kiếm cho vẻ – WiiMaxx

Trả lời

21

Giả sử bạn đang ở trong WPF chỉ đơn giản nói:

DGrid.ItemsSource = dt.AsDataView(); 

Không cần phải tự thiết lập các cột trên DataGrid của bạn, giao DataTable sẽ thiết lập các lên cho bạn.

+0

Nó cho tôi một lỗi: Hai chiều ràng buộc đòi hỏi đường dẫn hoặc XPath. –

+0

Nếu không thêm cột theo cột, thì định dạng DataGrid không áp dụng chỉ dữ liệu được hiển thị. Vui lòng trợ giúp định dạng động các cột, như màu thay đổi. –

+0

Tôi sẽ đề nghị hỏi một câu hỏi mới sau đó. Câu hỏi này không liên quan đến định dạng datagrid, chỉ thiết lập nguồn dữ liệu. –