我正在尝试将数据集绑定到webgrid。 据我所知,Webgrid只接受模型作为数据源。但我需要使用数据集来实现它。我在模型本身上创建了一个Dataset属性。 请指导我。我是新手。 TIA
答案 0 :(得分:0)
WebGrid无法从数据集中提取数据(或者更准确地说,是数据表)。您可以使用LINQ to DataSet将数据转换为IEnumerable
。借用DataTable example from Dotnet Perls,您可以这样做:
DataTable table = new DataTable();
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
// Here we add five DataRows.
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
var data = table.AsEnumerable().Select(r => new {
Dosage = r.Field<int>("Dosage"),
Drug = r.Field<string>("Drug"),
Patient = r.Field<string>("Patient"),
Date = r.Field<DateTime>("Date")
});
var grid = new WebGrid(data);