【问题标题】:String operations in Visual Studio 2010 Reporting Services expressionVisual Studio 2010 Reporting Services 表达式中的字符串操作
【发布时间】:2014-01-22 18:34:37
【问题描述】:

如何将“16;#Name”转换为“Name”(也可以是“363;#DifferentName”等)

我正在尝试在表达式中执行此操作。

现在……

RSet(Fields!Name.Value,InStr(Fields!Name.Value, "#"))

...似乎让我完全相反:“16;#”但是尝试 LSet() 或只是不同的函数通常也不能让我得到答案。

【问题讨论】:

标签: vb.net string visual-studio-2010 reporting-services expression


【解决方案1】:

试试这个:

=(Split(Fields!Name.Value,"#")).GetValue(1)

【讨论】:

  • 谢谢。工作得很好,我试过 Split() 但忽略了“.GetValue(1)”
  • 是否还要检查 Fields!Name 是否有名称?如果没有提供名称......它应该返回类似“No Name”的东西我发现这个:Public Shared Function Test(s As String) As String If String.IsNullOrEmpty(s) Then Return "is null or empty" Else Return String.Format("(""{0}"") is neither null nor empty", s) End If End Function 但我不确定是否有更好的方法来做到这一点而不必创建更多的自定义代码。 (我的报告中已经有一些,如果可能,我不想修改它。)
  • 您可以使用内联 IIfSwitch 函数实现类似的结果,而无需借助自定义代码
  • 对,但我不确定如何用 VB 正确表达这一点。比如... IIF((Split(Fields!Name.Value,"#")).GetValue(1) Is Nothing, , ) ...我猜“Is Nothing”不是表达 IIF() 条件的正确方法
  • Will Fields!Name.Value 是否总是有价值的并且总是以 # 结尾?
猜你喜欢
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多