Microsoft.Reporting.WebForms.ReportViewer控件在ToolBar中添加自定义控件

ado*_*lot 6 c# asp.net inheritance reportviewer webforms

有没有办法在Microsoft.Reporting.WebForms.ReportViewer控件中添加自定义控件.
我正在开发ASP.NET Web应用程序,我想在reportviewer的toolBar中添加我的自定义控件.

阅读这篇博客,看起来在WinForms中是可行的.

所以我开始编写自己的RerpotViewerClass,它继承了ReportViewer,并在开始时堆叠.看起来我无法覆盖WebForms上的OnControlAdded方法?
Shod我然后使用OnLoad()或任何其他?

   public class ReportViewerToolbarExtension : Microsoft.Reporting.WebForms.ReportViewer
    {
        protected override void OnControlAdded(ControlEventArgs e)
        {

                base.OnControlAdded(e);

        }        
    }
Run Code Online (Sandbox Code Playgroud)

Raisse错误

'Microsoft.Reporting.WebForms.ReportViewer' does not contain a definition for 'OnControlAdded'  
Run Code Online (Sandbox Code Playgroud)

另外"ControlEventArgs"对我来说是一个痛苦的部分吗?

当我尝试实现SetToolStripItems(控制c)时

我不能使用ToolStripItemCollection还有Toolstrip,因为它们属于命名空间System.Windows.Forms.
我应该参考WinForms还是Web名称空间中有模拟控件?

dmp*_*lla 9

遗憾的是,无法自定义Web报表查看器工具栏.通过查看反汇编代码,您可以看到使用的ToolbarControl是一个自定义的,它是一个内部密封类,您只能隐藏或显示工具栏.

但是,您可以隐藏工具栏并创建自己的工具栏,以实现与现有工具和您自己的控件相同的功能.

这是Microsoft建议的路线.

如果需要不同的工具栏实现,可以创建自定义工具栏来替换默认工具栏.

可在以下网址找到它:http://msdn.microsoft.com/en-us/library/ms251670.aspx

我要做的是反汇编代码并再次重新实现它作为一个公共类,所有的子类从我第一眼看起来似乎没有太复杂或难以做到.

通过使用jqueryDOM api 等工具编辑DOM,也可以通过前端添加它.下面的Web开发人员帖子演示了如何做到这一点.请谨记影响,如果你想要的服务器端控件添加到你需要确保你不将无效视图状态,他们正常工作的工具栏的那个.

有关类似问题,请参阅asp.net论坛上的以下帖子.

有用的拆卸工具.

希望这可以帮助