Stimulsoft.Report的代码实现功能自学整理(二)

一、如何往报表对象里传递外部变量值

    有时候做报表需要把外部程序的变量值传递到报表中,比如当前登录的用户名、用户编号什么的。我是用了一个哈希表。

            Hashtable ht;
            ht = new Hashtable(); //创建一个Hashtable实例
            ht.Add("用户名", "超级用户"); //添加keyvalue键值对
            ht.Add("用户编码", "super");
            ht.Add("性别", "男");
            ht.Add("爱好", "女");

然后把这个哈希表当做变量传递给自己做的一个报表处理接口中,在接口中用foreach循环,把哈希表中的键值绑定到报表对象中。

                if (Param.Count > 0)\\哈希表对象Param
                {
                    foreach (DictionaryEntry de in Param)
                    {
                        report.Dictionary.Variables.Add(new StiVariable("MyVariables", de.Key.ToString(), typeof(string), de.Value.ToString(), true));
//MyVariables是一个别名,一会在运行截图中可以看到
                    }
                }
                report.Dictionary.Synchronize();//这句很重要

运行结果

 

二、在设计器中,保存想用自己的方法,怎么写。

private void Design_Shown(object sender, EventArgs e)//窗体显示事件
        {
            StiOptions.Engine.GlobalEvents.SavingReportInDesigner +=
        new Stimulsoft.Report.Design.StiSavingObjectEventHandler(GlobalEvents_SavingReportInDesigner);
           
        }

        private void GlobalEvents_SavingReportInDesigner(object sender, Stimulsoft.Report.Design.StiSavingObjectEventArgs e)
        {
            if (stiRibbonDesignerControl1.Report == null) return;
            e.Processed = true;
            //上面两句保留
            //下面写想做的操作
            SelfSave();
            //保存完直接关闭该窗体
            this.Close();
        }

三、设计器中,一些按钮功能不想用,咋屏蔽

//设计器中不能预览
StiOptions.Designer.PreviewReportVisible = false;
//设计器中不能用html预览
StiOptions.Designer.HtmlPreviewReportVisible = false;
//设计器中脚本编写界面显示
StiOptions.Designer.CodeTabVisible = true;

//StiOptions.Designer这个里面有很多属性,可以自己看看
this.stiRibbonDesignerControl1.ShowLocalizationMenu = false;
this.stiRibbonDesignerControl1.ShowHelp = false;
this.stiRibbonDesignerControl1.ShowTabHomeBarStyle = false;
this.stiRibbonDesignerControl1.ShowCaption = false;

不过左边有个蓝色的File按钮,我没找到让它消失的方法,我是自己找了个panel控件把它挡住了。好像是StiOptions.Designer中有个什么控制File的属性,但是我一用报异常。

 

前后对比,报表内容请忽略,主要看菜单和功能区

 

不过好像右键弹出菜单中的“预览”功能依然能看见。但是勾选和不勾选,都看不到预览界面。

 

四、预览控件的一些功能屏蔽

//我就屏蔽了这几个
            this.stiRibbonViewerControl1.ShowBookmarksPanel = false;
            this.stiRibbonViewerControl1.ShowOpen = false;
            this.stiRibbonViewerControl1.ShowThumbsPanel = false;

前后对比

凑合喊一下吧,这图比例没设置、、

 

有不对的地方请指出,我及时改正,也欢迎补充。我暂时就研究出了这么点东西。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值