fumasoft 发表于 2023-2-7 12:24:00

AR16保存报表处理自定义逻辑

AR16 API说明里面对于onSave不支持了。


那么想问下之前AR13的时候在页面上处理的onSave方法里面的逻辑需要怎样才能实现呢?

Felix.Li 发表于 2023-2-7 12:24:01

您是想在保存的时候执行别的方法是吗,
我们现在有保存的前后的回调函数
let designeroptions = GrapeCity.ActiveReports.WebDesigner.createDesignerOptions();

    designeroptions.documentapihandlers.onaftersave = () => {
      console.log("保存结束")
    }
    designeroptions.documentapihandlers.onbeforesave = () => {
      console.log("保存前")
    }
    grapecity.activereports.webdesigner.renderapplication("ar-web-designer", designeroptions)
您直接使用这个就可以

fumasoft 发表于 2023-2-7 19:12:56

本帖最后由 fumasoft 于 2023-2-7 19:52 编辑

Felix.Li 发表于 2023-2-7 18:26
您是想在保存的时候执行别的方法是吗,
我们现在有保存的前后的回调函数


另外请教一个问题:

就是点保存的时候能不能不出现这个弹出框,直接保存模版。模版名字在URL上已经有了。
点预览的时候能否实现先保存模版再加载预览数据?


因为预览的时候是根据指定参数通过接口获取数据的,所以 Startup里面Configuration是这样写的:

      public void Configuration(IAppBuilder app)
      {
            try
            {
                app.UseErrorPage();
                ActionFile();
                var dataSetsService = new FileSystemDataSets(DataSetsRootDirectory);
                var templatesService = new FileSystemTemplates(TemplatesRootDirectory);
                app.Use((context, next) =>
                {
                  context.Set(typeof(IDataSetsService).ToString(), dataSetsService);
                  context.Set(typeof(ITemplatesService).ToString(), templatesService);
                  return next.Invoke();
                });
                app.UseDesigner(config => config.UseFileStore(ResourcesRootDirectory, false));

                app.UseReporting(settings =>
                {
                  try
                  {
                        settings.UseCustomStore(GetReport);//使用UseCustomStore来自定义一些需要的值
                        settings.UseCompression = true;

                        SourceClass sc = new SourceClass();
                        settings.LocateDataSource = args =>
                        {
                            try
                            {
                              string key1 = args.Parameters.Value.ToString();
                              var ping = args.Parameters.Value.ToString().Split('_');
                              string Mould = ping;
                              string hostStrats = ping.Length == 2 ? ping : "";// args.Parameters.Value.ToString();
                              string name = args.DataSet.Name;
                              //WriteLog.WriteLogs( name + ":********************" + key1+"请求时间:"+DateTime.Now);
                              GrapeCity.ActiveReports.PageReportModel.FieldCollection fields = args.DataSet.Fields;
                              System.Data.DataSet data1 = (System.Data.DataSet)sc.getDataSetData(name, fields, key1, Mould, hostStrats);
                              //WriteLog.WriteLogs( name + ":********************" + key1 + "返回时间:" + DateTime.Now);
                              return data1;

                            }
                            catch (Exception ex)
                            {

                              WriteLog.WriteLogs("args error 渲染出错");
                              WriteLog.WriteLogs(ex.ToString());
                              return null;
                            }
                        };
                  }
                  catch (Exception ex)
                  {
                        WriteLog.WriteLogs("settings error 渲染出错2");
                        WriteLog.WriteLogs(ex.ToString());
                  }
                });
               app.UseStaticFiles(new StaticFileOptions { FileSystem = new PhysicalFileSystem(String.Format(@"{0}.\wwwroot\", HttpRuntime.AppDomainAppPath)) });
         }
            catch (Exception ex)
            {
                WriteLog.WriteLogs("start error");
                WriteLog.WriteLogs(ex.Message);
            }
      }

编辑模版的时候保存没有问题不会弹窗;但是新建模版的时候保存就会弹窗,弹窗后输入模版名保存也不能保存成功

Eden.Sun 发表于 2023-2-8 11:27:12

fumasoft 发表于 2023-2-7 19:12
另外请教一个问题:

就是点保存的时候能不能不出现这个弹出框,直接保存模版。模版名字在URL上已经有 ...

您好 ,麻烦您在新帖提问,咱们保证一个帖子解决一个问题,方便后面问题的回顾和学习呢:lol

fumasoft 发表于 2023-2-8 12:19:51

Eden.Sun 发表于 2023-2-8 11:27
您好 ,麻烦您在新帖提问,咱们保证一个帖子解决一个问题,方便后面问题的回顾和学习呢

好的,晚点我开个新帖,麻烦可以尽快解决哈!谢谢

Bella.Yuan 发表于 2023-2-8 13:48:16

fumasoft 发表于 2023-2-8 12:19
好的,晚点我开个新帖,麻烦可以尽快解决哈!谢谢
您好,如果您需要加急处理您的问题,建议您购买我们的金牌服务权益,针对金牌用户的帖子是会被优先进行处理的。普通用户的帖子是在金牌帖子处理后按照时间顺序依次进行解决,感谢理解。:mj72:
页: [1]
查看完整版本: AR16保存报表处理自定义逻辑