SunDream° 发表于 2016-6-1 15:33:41

关于设计器深度定制的一个问题!

本帖最后由 Lenka.Guo 于 2016-6-1 17:17 编辑

如图中出现的四个选项文件.服务器.编辑.报表    这几个选项在后台使用代码如何控制显示否?ToolStrip toolstrip = reportDesigner.CreateToolStrips(new DesignerToolStrips[]                {
                  DesignerToolStrips.Menu
                });
            _fileMenu = (ToolStripDropDownItem)toolstrip.Items;
            CreateFileMenu(_fileMenu);

            AppendToolStrips(0, new ToolStrip[]
                {
                  toolstrip
                });

是否是在这一段中控制的呢?


Lenka.Guo 发表于 2016-6-1 16:24:41

在这段代码中,您可以去掉不需要的:

ToolStrip toolStrip = reportDesigner.CreateToolStrips(new DesignerToolStrips[]
                                {
                                        DesignerToolStrips.Menu
                                });
            ToolStripDropDownItem fileMenu = (ToolStripDropDownItem)toolStrip.Items;
            CreateFileMenu(fileMenu);
            AppendToolStrips(0, new ToolStrip[]
                                {
                                        toolStrip
                                });
            AppendToolStrips(1, reportDesigner.CreateToolStrips(new DesignerToolStrips[]
                                {
                                        DesignerToolStrips.Edit,
                                        DesignerToolStrips.Undo,
                                        DesignerToolStrips.Zoom
                                }));
            AppendToolStrips(1, new ToolStrip[]
                                {
                                        CreateReportToolbar()
                                });
            AppendToolStrips(2, reportDesigner.CreateToolStrips(new DesignerToolStrips[]
                    {
                                        DesignerToolStrips.Format,
                                        DesignerToolStrips.Layout
                    }));

SunDream° 发表于 2016-6-1 16:35:00

Lenka.Guo 发表于 2016-6-1 16:24
在这段代码中,您可以去掉不需要的:

这里面的去掉了就把某一整块去掉,但是我现在就只是想给途中的“服务器”这个选项隐藏掉 替换成别的一些按钮,   

SunDream° 发表于 2016-6-1 16:52:51

SunDream° 发表于 2016-6-1 16:35
这里面的去掉了就把某一整块去掉,但是我现在就只是想给途中的“服务器”这个选项隐藏掉 替换成别的 ...

进过自检按照要求,需要这样修改:

ToolStrip toolstrip = reportDesigner.CreateToolStrips(new DesignerToolStrips[]
                {
                  DesignerToolStrips.Menu
                });
            _fileMenu = (ToolStripDropDownItem)toolstrip.Items;
            toolstrip.Items.Text = "数据源";
            toolstrip.Items.Click += new System.EventHandler(this.toolstripOneClick);
            _fileSql = (ToolStripDropDownItem)toolstrip.Items;
            CreateFileMenu(_fileMenu);
            CreateFileSql(_fileSql);

            AppendToolStrips(0, new ToolStrip[]
                {
                  toolstrip
                });


//清空原有ar10自带的触发事件
private void CreateFileSql(ToolStripDropDownItem fileSql)
      {
            fileSql.DropDownItems.Clear();
}


大致这样子就可以清空ar10自带的事件,添加自己需要事件!

Lenka.Guo 发表于 2016-6-1 17:15:45

SunDream° 发表于 2016-6-1 16:52
进过自检按照要求,需要这样修改:

ToolStrip toolstrip = reportDesigner.CreateToolStrips(new Des ...

感谢分享,奖励1000金币~:hjyzw:

SunDream° 发表于 2016-6-2 10:52:43

Lenka.Guo 发表于 2016-6-1 17:15
感谢分享,奖励1000金币~

我这里还有一个问题
            report.Report.DataSets.Add(dataSet);
            report.Report.DataSources.Add(dataSource);
在初始化执行绑定对应数据集于数据源后, 现在想重新再后台获取PageReport中对应的到DataSet于DataSource对象,在一次进行定义修改!该如何操作呢?

Lenka.Guo 发表于 2016-6-2 14:52:10

SunDream° 发表于 2016-6-2 10:52
我这里还有一个问题
            report.Report.DataSets.Add(dataSet);
            report.Report.D ...

如电话沟通,您是当修改报表界面,修改DataSource和DataSet之后,返回报表设计界面,DataSource的并未执行更新后的结果。
所以需要在执行增加ReportExplore的refresh 操作,这样能够在更改报表数据源之后,即时更新。
GrapeCity.ActiveReports.Design.ReportExplorer Namespace
public virtual void Refresh()


页: [1]
查看完整版本: 关于设计器深度定制的一个问题!