我的网页中有一个Report Viewer Control,负责显示所有报告。
我想获取报告的参数并检查参数是否允许null属性为true然后我想将参数值传递给null。
为此,我尝试了以下代码,但是我将所有参数的AllowBlank属性设置为false:
ReportParameterInfoCollection defaultParams;
List<ReportParameter> reportParams = new List<ReportParameter>();
defaultParams = ReportViewer1.ServerReport.GetParameters();
if (defaultParams.Count > 0)
{
foreach (ReportParameterInfo rp in defaultParams)
{
if (rp.AllowBlank)
{
string str = null;
reportParams.Add(new ReportParameter(rp.Name, str));
}
}
}
答案 0 :(得分:1)
我已经解决了我的问题。
我没有检查AllowBlank属性,而是检查了Nullable属性。
AllowBlank属性仅适用于允许空白的字符串参数,但如果要检查参数是否允许空值,则必须检查NULLABLE属性
新代码如下:
ReportParameterInfoCollection defaultParams;
List<ReportParameter> reportParams = new List<ReportParameter>();
defaultParams = ReportViewer1.ServerReport.GetParameters();
if (defaultParams.Count > 0)
{
foreach (ReportParameterInfo rp in defaultParams)
{
if (rp.Nullable)
{
string str = null;
reportParams.Add(new ReportParameter(rp.Name, str));
}
}
}