前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Stimulsoft.Report.web viewer控件添加按钮

Stimulsoft.Report.web viewer控件添加按钮

作者头像
冰封一夏
发布2019-09-11 15:50:17
7960
发布2019-09-11 15:50:17
举报

当你购买了带源码的时候,你可以对源码进行修改以达到自己想要的效果,比较这里讲到的,向viewer控件工具栏添加按钮。

通过源码目录可以看出我们需要修改的有两部分代码

红色方块圈中的部分,【StiWebViewer】这个就是控件代码,【Toolbar】这个是控件按钮

我们这里添加一个按钮(StiShowLogoToolButton)来看看

1、在Toolbar文件夹下添加个类 StiShowLogoToolButton,

这个类的代码其实很简单,你可以参考其他button按钮的代码

代码语言:javascript
复制
using Stimulsoft.Base.Localization;

namespace Stimulsoft.Report.Web
{
    internal sealed class StiShowLogoToolButton : StiToolButton
    {
        public StiShowLogoToolButton(StiWebViewer viewer)
            : base(viewer, viewer.GetLocalization("A_WebViewer", "Show_HideLogo"), "Show_HideLogo")
        {
            this.ID = viewer.ClientID + "Show_HideLogo";
            this.ShowCaption = true;
            this.Enabled = true;
            if (viewer.IsAjax)
            {
                string callback = viewer.Page.ClientScript.GetCallbackEventReference(viewer, "GenerateParameters('" + viewer.ClientID + "','Show_HideLogo')", "CallbackFunction", "null");

                this.ClickEvent = "if (ToolButton_OnClick(this, '" + viewer.ClientID + "')) " + callback + ";";
                //this.ClickEvent = "return false;";
            }
        }

    }
}

当然这个按钮也是需要个图片的,在Images里面放个内嵌的图片Show_HideLogo.gif

2、想viewer添加控制属性,也就是是否显示按钮的属性

代码语言:javascript
复制
 /// <summary>
        /// 獲取或設置一個值用於表示是否顯示報表LOGO按鈕
        /// </summary>
        [DefaultValue(true)]
        [Category("Other")]
        [Description("獲取或設置一個值用於表示是否顯示報表LOGO按鈕")]
        public bool ShowLogoButton
        {
            get
            {

                object showLogoButton = this.ViewState["ShowLogoButton"];
                return showLogoButton is bool ? (bool)showLogoButton : true;
            }
            set
            {
                this.ViewState["ShowLogoButton"] = value;
            }
        }

3、StiToolBar.cs里开始添加按钮上来

写个方法用来添加按钮

代码语言:javascript
复制
  private void AddShowLogoButton()
        {
            showlogoButton = new StiShowLogoToolButton(viewer);
            if (viewer.ShowLogoButton) AddControl(showlogoButton);
        }

然后在CreateChildControls()方法里调用添加按钮的方法AddShowLogoButton()

4、至于怎么判断你点击了按钮呢?别急往下看

在StiWebViewer里面找到这个方法 public void RaiseCallbackEvent(string eventArg)

然后进行判断

if (eventArg.StartsWith("Show_HideLogo", StringComparison.InvariantCulture))

这样就可以自己写逻辑进行处理了

效果就是这样了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-06-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档