找回密码
 立即注册

QQ登录

只需一步,快速开始

postmanlly

社区贡献组

17

主题

79

帖子

327

积分

社区贡献组

积分
327

活字格认证元老葡萄

postmanlly
社区贡献组   /  发表于:2015-5-25 09:20  /   查看:24004  /  回复:54
回复 4楼frank.zhang的帖子

现在出现一个很奇怪的现象,当我导出的excel记录很多的时候,其中也会有分页出现,而且不规律,2000多行的时候出现了一次分页,隔了几条以后又出现一次,好奇怪? 我的代码如下:

  1. function exportExcel(sender, exportType) {
  2.             if (viewModel.PageLoaded()) {

  3.                 viewModel.Export(exportType, function (uri) {
  4.                     window.location = uri;
  5.                 }, true, { MultiSheet: false, Pagination: false });
  6.             } else {
  7.                 alert("在页面加载完成之前不能进行打印/导出操作。");
  8.             }
  9.         }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

54 个回复

正序浏览
iceman
社区贡献组   /  发表于:2015-12-21 16:57:00
55#
回复 54楼postmanlly的帖子

请问网址打不开目前报什么错误?网络原因还是?我们目前可以正常打开
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-12-18 17:07:00
54#
你好,
https://sas.grapecity.com/deactivation 打不开了,我们这边要Deactive.
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-1 11:00:00
53#
您好,
取参数的值字段,使用的方法是:
1.使用JS从前台取到选择的label
  1.     <script>
  2.             function appendParam() {
  3.                    
  4.                     var arr = [];
  5.                    
  6.                     arr.push($("#parametersPane .parameterTextBox").val());

  7.                     arr.push($("#parametersPane .parameterComboBox option:selected" ).text());
  8.                    
  9.             $("#parametersPane .parameterListBox input:checked").each(
  10.                            function () {
  11.                                    var t = $(this).next().text();
  12.                                    arr.push(t);
  13.                            }
  14.                    );
  15.                    
  16.             $('#subForm').append('<input type="hidden" name="paramCount" value="' + arr.length + '">');

  17.             arr.forEach(function (item, i, arr) {
  18.                     $('#subForm').append('<input type="hidden" name="param' + i + '" value="' + item + '">');
  19.             });
  20.             return true;
  21.         }
  22.     </script>
复制代码

2.在后台参数取到label和value的对应关系
  1.             var paramsInReport = _reportDef.Report.ReportParameters[2].ValidValues;
  2.             Dictionary<string, string> allValidParams = new Dictionary<string, string>();
  3.             foreach (var param in paramsInReport.ParameterValues)
  4.             {
  5.                 var p = (ParameterValue)param;
  6.                 allValidParams.Add(p.Label, p.Value);
  7.             }
复制代码

3.将value赋值给报表
  1.             for (int i = 0; i < paramCount; i++)
  2.             {
  3.                 string paramKey = "param{0}";
  4.                 if (i < 2)
  5.                 {
  6.                     numberParam = i;
  7.                 }
  8.                 else
  9.                 {
  10.                     numberParam = 2;
  11.                 }
  12.                 paramKey = string.Format(paramKey, i);
  13.                 string param = Request[paramKey];
  14.                 if (numberParam < 2)
  15.                 {
  16.                     _reportDef.Report.ReportParameters[numberParam].DefaultValue.Values.Add(param);
  17.                 }
  18.                 else
  19.                 {
  20.                     if (allValidParams.ContainsKey(param))
  21.                         _reportDef.Report.ReportParameters[numberParam].DefaultValue.Values.Add(allValidParams[param]);
  22.                 }
  23.             }
复制代码


效果截图:



示例代码:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-25 09:37:00
52#
您好,
非常感谢您对我们的支持和理解。
如果这个问题有进一步的进展,我会第一时间通知您。
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-24 18:32:00
51#
根据您提供的方法可以实现导出了,并且也解决了无规则分页的问题,非常感谢!
另外,js里获取不到参数的值字段问题还请能与美国研发同事沟通解决,谢谢~~
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-24 16:16:00
50#
您好,
经过电话沟通,先将目前能够使用后台导出数据的版本上传。

由于论坛大小限制,删除了packages文件夹。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-24 15:24:00
49#
回复 48楼frank.zhang的帖子

你好,
我现在将导出放到服务端导出了,但是会产生一个新的问题,就是当数据量比较大的时候,不分页的情况下,会导致报错内存溢出,这个太坑了, “引发类型为“System.OutOfMemoryException”的异常。”这该如何是好呢?急急!!!!
代码如下:
  1. XlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx;
  2.                 XlsExport1.Pagination = false;
  3.                 XlsExport1.Export(_reportRuntime, ms);
复制代码
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-24 11:41:00
48#
您好,
非常抱歉,经过电话沟通,这个问题我们做了两个方面的尝试,
1.通过前台实现无格式数据的导出。目前得到的结果是,没有相关的接口。
2.修复这个bug。由于开发团队在美国,并且修复需要一定的时间,参照之前修复的时间,最快需要两周左右。
我这边会跟进这个问题,如果有任何的进展,我会第一时间跟您联系。
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-24 10:11:00
47#
回复 44楼frank.zhang的帖子

您好,这个问题是否有答复了? 我们这边客户催的非常急
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部