Reporting services 如何动态更改SSRS报表tablix的DirectionLayout属性,使报表支持英语和阿拉伯语

Reporting services 如何动态更改SSRS报表tablix的DirectionLayout属性,使报表支持英语和阿拉伯语,reporting-services,Reporting Services,我在一个支持英语和阿拉伯语的项目中工作,目前我们正在开发项目报告 我们选择在WindowsFormsApplication(C#)中将SSR与ReportViewer控件一起使用 我寻找了一种根据语言(LTR英语、RTL阿拉伯语)更改tablix的DirectionLayout属性的方法,并尝试了许多解决方案,但没有成功 我不想创建两个报告,也不想创建一个包含两个表格的报告,每种语言一个表格 现在我试着做以下几点: 使用SSRSWeb服务获取报表定义 编辑报告定义(将Tablex Directi

我在一个支持英语和阿拉伯语的项目中工作,目前我们正在开发项目报告

我们选择在WindowsFormsApplication(C#)中将SSR与ReportViewer控件一起使用 我寻找了一种根据语言(LTR英语、RTL阿拉伯语)更改tablix的DirectionLayout属性的方法,并尝试了许多解决方案,但没有成功

我不想创建两个报告,也不想创建一个包含两个表格的报告,每种语言一个表格

现在我试着做以下几点:

  • 使用SSRSWeb服务获取报表定义
  • 编辑报告定义(将Tablex DirectionLayout转换为RTL)
  • 使用SSRS执行服务加载定义并呈现报告
  • 将渲染报告分配给ReportViewr控件
  • 我想知道这可能吗?我可以在哪里搜索以完成此任务?

    1)根据您使用的SSR版本,您可以使用GetReportDefinition方法()或GetItemDefinition()

    2) 您可以使用RDL对象模型来编辑RDL,尽管它并不简单,并且Microsoft.ReportingServices.RdlObjectModel命名空间的类标记为internal(SSRS 2008 R2及更高版本)。您可以在Teo Lachev和Lionel Ringenbach处找到示例代码

    有关RDL对象模型的类和方法的参考信息,请从开始

    3-4)我认为将已编辑的报表部署回服务器,然后使用ReportViewer控件调用它会更容易。然后,您可以直接利用可用的方法。ReportViewer控件可以直接处理渲染。以下是有关通过Web服务部署的信息: