在RDLC报告中,我在对字段进行排序时收到以下错误。
The SortExpression expression for the text box ‘textbox1’ contains an error: Input string was not in a correct format.
这是间歇性发生的,而且我无法弄清楚发生此错误的具体原因是什么。谁能告诉我,发生此错误的原因是什么?
我的RDLC XML的一部分如下,
<Textbox Name="textbox1">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Trim(Fields!Account.Value)</SortExpression>
<SortExpressionScope>table1_Group1</SortExpressionScope>
<SortTarget>dsReportData</SortTarget>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!AccountNumberDisplayText.Value</Value>
<MarkupType>HTML</MarkupType>
<Style>
<FontFamily>Verdana</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>textbox1</rd:DefaultName>
<ZIndex>30</ZIndex>
<Style>
<Border>
<Color>White</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>White</Color>
</TopBorder>
<BottomBorder>
<Color>White</Color>
</BottomBorder>
<LeftBorder>
<Color>#eeeeeb</Color>
</LeftBorder>
<RightBorder>
<Color>#eeeeeb</Color>
</RightBorder>
<BackgroundColor>#dcdcdc</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
[我认为AccountNumberDisplayText
偶尔会引发一个解析异常,因为看起来您正在尝试将字符串转换为数值,并且可以正常工作,直到出现字符阻塞为止。
我认为这里的问题不在代码本身,而在输入中
您可以尝试使用Val函数来净化更多输入内容
可能的代码编辑为:
<Textbox Name="textbox1">
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Trim(Val(Fields!Account.Value))</SortExpression>
<SortExpressionScope>table1_Group1</SortExpressionScope>
<SortTarget>dsReportData</SortTarget>
</UserSort>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Val(Parameters!AccountNumberDisplayText.Value)</Value>
<MarkupType>HTML</MarkupType>
<Style>
<FontFamily>Verdana</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>textbox1</rd:DefaultName>
<ZIndex>30</ZIndex>
<Style>
<Border>
<Color>White</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>White</Color>
</TopBorder>
<BottomBorder>
<Color>White</Color>
</BottomBorder>
<LeftBorder>
<Color>#eeeeeb</Color>
</LeftBorder>
<RightBorder>
<Color>#eeeeeb</Color>
</RightBorder>
<BackgroundColor>#dcdcdc</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>