我有一个包含mastertableview的radgrid。在mastertableview的顶部,有一个表单供用户搜索数据结果,该结果用作绑定mastertableview的数据源。
当用户单击表单中的搜索按钮时,将调用javascript函数来调用Web服务方法以获取结果数据集。但不知何故,我的Web服务方法只返回当前页面的数据量。同时,无论用户在mastertableview中选择了哪些项目,导出按钮仅导出相同的数据集。
因为所有数据都是在客户端使用javascript限制但我的导出代码是c#,我正在寻找一种方法来导出用户选择的项目,或者如果没有选择任何项目只导出所有数据而不是驻留在当前页面中的数据。
提前致谢。
答案 0 :(得分:0)
使用simple data-binding
时通常会发生这种情况。您必须使用advanced data-binding
(或数据源控件)才能使此功能正常工作:
另请注意,要使用导出功能,必须将网格配置为使用advanced databinding
,而不支持导出的简单数据绑定。
答案 1 :(得分:0)
你似乎在这里有两个不同的问题,我同意前面的人所说的,你应该看一下高级数据绑定(参见http://demos.telerik.com/aspnet-ajax/grid/examples/programming/needdatasource/defaultcs.aspx)。我个人从来没有遇到只搜索当前可见结果的问题,但我执行了一次" Rebind"按下搜索按钮时。
关于导出,我使用以下代码"导出到Excel"按钮,它意味着我的所有数据都会被导出,无论它是否在当前可见的页面上。
grid.ExportSettings.IgnorePaging = True;
grid.ExportSettings.OpenInNewWindow = True;
grid.ExportSettings.FileName = String.Format("{0} {1:yyyy-MM-dd HHmm}",requiredFilename , Now);
grid.MasterTableView.ExportToExcel();
您可以在OnGridExporting事件中添加类似的代码(当然减去.ExportToExcel位!),以确保导出的文档包含所有数据,而不管当前可见的是什么