wuxiaofeng 发表于 2020-4-8 12:03:02

自己重构的报表设计器怎样刷新报表界面?

您好!
      公司现在需要单独的将“报表设计器控件(Designer)”重构一下(用的winform),窗体上放置一些自己的编辑框用于设置控件的size大小,当在编辑框输入具体大小之后 ,控件大小已经更新在数据里,就是界面显示不刷新。想请问一下有什么方式可以使报表的界面刷新吗?

Lenka.Guo 发表于 2020-4-8 12:03:03

在设计器里面设计器是有个refresh的方法,可以调用。

KearneyKang 发表于 2020-4-8 17:27:05

您好,这块的话,要看你具体怎么操作的。你是修改了终端用户设计器的源码?

wuxiaofeng 发表于 2020-4-8 18:38:39

本帖最后由 wuxiaofeng 于 2020-4-8 18:40 编辑

KearneyKang 发表于 2020-4-8 17:27
您好,这块的话,要看你具体怎么操作的。你是修改了终端用户设计器的源码?
我这边没有修改设计器的源码,只是像是调用API一样调用了控件的.width和.Height属性去设置。

KearneyKang 发表于 2020-4-9 09:26:24

你能提供下你具体是修改了那些代码,改了那些API,然后我去试试

wuxiaofeng 发表于 2020-4-9 09:51:31

KearneyKang 发表于 2020-4-9 09:26
你能提供下你具体是修改了那些代码,改了那些API,然后我去试试

这个是我写的一个测试例子,我不知道能不能这样做,麻烦您帮忙看看。
private void widthTest()
      {
            //_reportDesigner 是报表组件 Designer
            foreach (var item in _reportDesigner.Selection)//遍历选中的控件
            {
                if (item is ReportComponent)
                {
                  ReportItem PortItem = (ReportItem)item;
               
                  PortItem.Width = "3cm"; // 设置宽度控件宽度(宽度是动态的,由用户输入)
                }
            }
      }

wuxiaofeng 发表于 2020-4-9 10:00:46

KearneyKang 发表于 2020-4-9 09:26
你能提供下你具体是修改了那些代码,改了那些API,然后我去试试

比如设置字体大小、对齐方式那些都可以用 ExecuteAction(DesignerAction.FormatFontSize, “”);这个接口来设置,但是对于控件大小,在DesignerAction 里面似乎没有找到对应的枚举项。所以我才用这种不太靠谱的方式来设置控件大小。

Lenka.Guo 发表于 2020-4-9 13:49:36

可以的,所有的属性都可以通过API 来设置,具体写法您可以参考安装示例里面的CreateReport 示例中的LayoutBuilder文件:
示例源码\Samples14-master\API\PageAndRDL\CreateReport

如果是 ARV14 可以从安装包里面找到这个示例, 如果是用的是 ARV13 可以在安装路径下看C:\Users\您的计算机名称\Documents\GrapeCity Samples\ActiveReports 13

wuxiaofeng 发表于 2020-4-9 14:42:10

Lenka.Guo 发表于 2020-4-9 13:49
可以的,所有的属性都可以通过API 来设置,具体写法您可以参考安装示例里面的CreateReport 示例中的LayoutB ...

不好意思,我看了一下您说的这个示例,我看代码中是在代码加载的时候便通过 table.Top = "1cm";
table.Left = "0.635cm";report.Report.Body.ReportItems.Add(table);等代码把这些属性给设定好了再统一加载到界面上。我这边是需要在外部进行具体属性值设置,再同步刷新界面。。我不知道是不是我看例子没有搞懂的缘故,还是不知道怎么去刷新界面。我的代码里已经调用了.width=“”和.height=“”,当设置好了属性值之后,我看属性值已经被修改为最新的了。问题就是界面上的显示没有同步最新的属性值。

Lenka.Guo 发表于 2020-4-9 16:28:58

您现在是在设计器里面,还是JSViewer里面渲染报表?
页: [1] 2
查看完整版本: 自己重构的报表设计器怎样刷新报表界面?