này rất khó hiểu, tôi sử dụng AsDataView để ràng buộc kết quả truy vấn đến một DGV và nó hoạt động tốt với những điều sau:Binding LINQ truy vấn để DataGridView
var query = from c in myDatabaseDataSet.Diamond where c.p_Id == p_Id select c;
dataGridView1.DataSource = query.AsDataView();
Tuy nhiên, đây là một kết quả trong một Lỗi:
var query = from item in myDatabaseDataSet.Items
where item.p_Id == p_Id
join diamond in myDatabaseDataSet.Diamond
on item.p_Id equals diamond.p_Id
join category in myDatabaseDataSet.DiamondCategory
on diamond.dc_Id equals category.dc_Id
select new
{
Product = item.p_Name,
Weight = diamond.d_Weight,
Category = category.dc_Name
};
dataGridView1.DataSource = query.AsDataView();
Lỗi:
Instance argument: cannot convert from
'System.Collections.Generic.IEnumerable<AnonymousType#1>' to
'System.Data.DataTable'
AsDataView không hiển thị trong truy vấn (danh sách).. Tại sao điều này lại xảy ra? Làm thế nào để ràng buộc truy vấn ở trên vào dgv sau đó ?.
Hãy xem liên kết này: [LINQ to DataTable] (http://weblogs.asp.net/stevesloka/archive/2008/01/28/linq-to-datatable.aspx) Có thể ở đây bạn có thể tìm thấy câu trả lời: [Loại lỗi chuyển đổi bằng LINQ với một Số liệu] (http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/bce2aced-2284-498a-b206-a9203cd19937) –