我使用C#创建了一个基于Windows应用程序的UI,使用户能够管理报表服务器的项目。我实现的功能之一是右键单击文件夹的名称(在UI TreeView层次结构中),然后从菜单中选择“重命名”选项,然后调用ReportingServices2005.SetProperties函数。我将“Name”和“Value”的属性添加到数组中,并将其作为此函数中的参数传递。我得到一个冗长的错误信息,但它只是说:
System.Web.Services.Protocols.SoapExceptions:属性“名称”是只读,无法修改或删除 - > Microsoft.ReportingServices.Diagnostics.Utilities.ReadOnlyPropertyException:...
我在代码中设置MessageBox.Show()以显示 TreeView 。 SelectedNodes.Nodes.IsReadOnly 并显示“False”。所以我认为没有任何东西是只读的。我也可以去报告管理器本身并在那里重命名没有问题。 “名称”是我无法从用户界面应用程序编辑的属性之一吗?其他属性(如“隐藏”或“描述”)是可编辑的。我提前感谢您的回复。
答案 0 :(得分:0)
我认为您无法在运行时重命名此属性的原因是因为该值实际存储在您的RDLC文件中。为了实际修改此值,您需要修改内存中的RDLC文件 - 并在reportViewer控件中重新加载它。