在最近的项目里主要负责SSRS部分的东西,期间遇到很多有意思的事情。
1,一个不错的样式:
主要参数:
1.表头背景色:#DBEEF3
2.表格隔行变色:#F2F2F2
3.font-family:"微软雅黑"
4.font-size:12px
5.border:1px solid #b9bbb8
6,当表格数值为0时,显示空白:单元格的format属性设置为:0.00;-0.00;''
2, 隔行变色:BackgroundColor属性设置为:=Iif(RowNumber(Nothing) Mod 2, "#F2F2F2", "White")
有列组时最好不要这么用,会很难看
3,报表导出只显示EXCEL格式
试图根据HTML中结构通过reportView内部一个元素的ID设置,但是后来发现在不用的机器上存在不一致情况
$("#ctl00_MainContent_ReportViewer1_ctl05_ctl04_ctl00_M
enu div:not(:eq(4))").hide()
---终结解决方案:反射将其他项的m_isVisible设为false
reportint service报表导出只显示EXCEL格式
前端: onprerender="ReportViewer_PreRender"
cs端: protected void ReportViewer_PreRender
(object sender, EventArgs e)
{
foreach (RenderingExtension extension in
ReportViewer1.ServerReport.ListRenderingExtensions())
{
if (extension.Name != "EXCEL")
{
FieldInfo fi = extension.GetType
().GetField("m_isVisible", BindingFlags.Instance |
BindingFlags.NonPublic);
fi.SetValue(extension, false);
}
}
}
4, SSRS 安全除零
①自定义函数
Public Function SafeDivide(ByVal top, ByVal bottom) As
Decimal
If IsNothing(top) Or IsNothing(bottom) Then
Return 0
End If
If bottom = 0 Or top = 0 Then
Return 0
End If
Return top / bottom
End Function
②调用=Code.SafeDivide(top,bottom)
5,SSRS加URL,url中传参
文本框属性--操作--选择‘转到URL’,在选择URL中输入
自己的
=Parameters!URL.Value & "AdjustID=21" & "&CAT="
& Fields!CAT.Value & "&BD="&Fields!BD.Value & "&PU="
&Fields!PU.Value
如果想在新页面打开
="javascript:void(window.open('" &
Parameters!URL.Value & "AdjustID=21" & "&CAT="
& Fields!CAT.Value & "&BD="&Fields!BD.Value & "&PU="
&Fields!PU.Value
& "','_blank'))"