【发布时间】:2012-06-29 13:30:22
【问题描述】:
我正在尝试将 JqGrid 导出到 excel,所以我关注 this instruction 并像下面这样使用它。
var grid = new JqGridModelParticipiant().JqGridParticipiant;
var query = db.ReservationSet.Select(r => new
{
r.Id,
Name = r.Doctor.Name,
Identity = r.Doctor.Identity,
Title = r.Doctor.Title.Name,
Total = r.TotalTL,
Organization = r.Organization.Name
});
grid.ExportToExcel(query,"file.xls");
我在“grid.ExportToExcel(query,"file.xls");”的行上得到了以下异常
数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)是 不支持。而是用数据填充 DbSet,例如通过 在 DbSet 上调用 Load,然后绑定到本地数据。对于 WPF 绑定 到 DbSet.Local。对于 WinForms 绑定到 DbSet.Local.ToBindingList()。
据我了解,它希望在 DbSet.Local 成员上有 ObservableCollection。但我正在处理预计查询,所以我不能这样做。
这个问题有什么解决办法。
【问题讨论】:
-
如果您使用基于免费开源 jqGrid 的 jqSuite 等商业产品,您应该使用另一个标签,例如 jqgrid-asp.net,而不是 jqgrid。在the answer,我发布了the demo,它展示了如何实现导出到Excel(真正的*.XLSX 文件而不是重命名为*.XLS 的HTML 片段使用here)。
标签: asp.net-mvc jqgrid jqgrid-asp.net entity-framework-4.3