CanYou8 发表于 2016-8-26 16:57:47

如何控制动态标签的显示位置?

本帖最后由 Lenka.Guo 于 2016-8-26 17:46 编辑

总共有5个标签,内容可看作固定,标签宽度不一致,如下图第1行。
希望实现效果:在参数中输入“首页,源库,报表开发知识大全”时,可以只显示这3个对应的标签,其他标签隐藏;并且显示的各个标签自动向左靠拢,如下图第2行所示效果。
尝试:将各个标签用文本框控件实现,用脚本控制其显示/隐藏。在脚本中生成需要显示的各个标签位置坐标。
问题:在有坐标值的情况下,如何控制具体某一个标签在报表上显示的位置?

Lenka.Guo 发表于 2016-8-26 17:45:47

本帖最后由 Lenka.Guo 于 2016-8-26 17:47 编辑

您的意思是通过后台代码来控制标签控件的位置;
可以在后台生成报表对象时, 设置Left和Top属性
definition1.Report.Body.ReportItems["TextBox1"].Left = "5cm";
definition1.Report.Body.ReportItems["TextBox1"].Top = "5cm";

其实还有一种方法是将这些标签都放在表头部分,然后动态控制列的可见性:http://demo.gcpowertools.com.cn/ActiveReports/ASPNET/ControlExplorer/Viewers/Default.aspx?category=1002&action=10

CanYou8 发表于 2016-8-27 15:33:31

Lenka.Guo 发表于 2016-8-26 17:45
您的意思是通过后台代码来控制标签控件的位置;
可以在后台生成报表对象时, 设置Left和Top属性
definiti ...

非常感谢!在后台生成报表对象时,请问如何控制一个控件的显示、隐藏呢?是
“definition1.Report.Body.ReportItems["TextBox1"].Visibility”吗?如何对它赋值?

CanYou8 发表于 2016-8-27 15:33:33

Lenka.Guo 发表于 2016-8-26 17:45
您的意思是通过后台代码来控制标签控件的位置;
可以在后台生成报表对象时, 设置Left和Top属性
definiti ...

非常感谢!在后台生成报表对象时,请问如何控制一个控件的显示、隐藏呢?是
“definition1.Report.Body.ReportItems["TextBox1"].Visibility”吗?如何对它赋值?

Lenka.Guo 发表于 2016-8-29 09:23:32

应该调用的是Visibility.Hidden属性来控制可见性。

definition1.Report.Body.ReportItems["TextBox1"].Visibility.Hidden = ExpressionInfo.FromString("true");

CanYou8 发表于 2016-8-29 10:40:07

非常感谢!!

Lenka.Guo 发表于 2016-8-29 11:10:37

报表设计器安装包的问题还在调研,同时也反馈给产品组了。
页: [1]
查看完整版本: 如何控制动态标签的显示位置?