Asp.net 从数据集调用数据(嵌套If)
Generate.aspx.vbAsp.net 从数据集调用数据(嵌套If),asp.net,vb.net,dataset,rdlc,Asp.net,Vb.net,Dataset,Rdlc,Generate.aspx.vb Case "costcentersummary" Dim newparams(4) As ReportParameter newparams(0) = New ReportParameter("CallClassCode", callClassCode) newparams(1) = New ReportParameter("DateTimeFrom", startDateTime)
Case "costcentersummary"
Dim newparams(4) As ReportParameter
newparams(0) = New ReportParameter("CallClassCode", callClassCode)
newparams(1) = New ReportParameter("DateTimeFrom", startDateTime)
newparams(2) = New ReportParameter("DateTimeTo", endDateTime)
newparams(3) = New ReportParameter("Vat", vat)
newparams(4) = New ReportParameter("CostCenterBy", costcenterby)
rvScreen.LocalReport.SetParameters(newparams)
rvScreen.LocalReport.Refresh()
Dim rdsCostCenterSummary As New ReportDataSource
Dim daCostCenterSummary As New CostCenterSummaryTableAdapter
Dim dtCostCenterSummary As New CostCenterSummaryDataTable
Dim filters = reportFilter.Split(",")
Dim ta As New LCSRDBDataSetTableAdapters.CostCentersLookupTableAdapter
Dim dt = ta.GetData(siteId)
If String.IsNullOrEmpty(reportFilter) Or filters.Count = dt.Rows.Count Then
daCostCenterSummary.SetWhereClause(String.Format("cdr_site_id = '{0}' AND cdr_datetime BETWEEN '{1}' AND '{2}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) GROUP BY cdr_id", siteId, startDateTime, endDateTime, callClass, callType))
Else
daCostCenterSummary.SetWhereClause(String.Format("cdr_site_id = '{0}' AND cdr_datetime BETWEEN '{1}' AND '{2}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) AND cost_center_id IN ({5}) GROUP BY cdr_id", siteId, startDateTime, endDateTime, callClass, callType, reportFilter))
End If
daCostCenterSummary.Fill(dtCostCenterSummary)
rdsCostCenterSummary.Name = "LCSRDBDataSet_CostCenterSummary"
rdsCostCenterSummary.Value = dtCostCenterSummary
rvScreen.LocalReport.DataSources.Add(rdsCostCenterSummary)
Standard.aspx.vb(会话)
输出问题:
如何在generate.aspx.vb中嵌套if语句?
还是应该在standard.aspx.vb中对其进行编码?
如何从数据集中调用值?
可能吗?
或者我应该在rdlc报告中编写代码 这个想法是:
if(ByCostCenterName is checked) then
CostCenterName is in alphabetical order
if(ByCostCenterNumber is checked) then
CostCenterNumber is in ascending order
end if
end if
好吧,我知道答案了 在Generate.aspx.vb中,我在其中插入了以下代码
If costcenterby = "name" Then
daCostCenterSummary.SetWhereClause(String.Format("cdr_site_id = '{0}' AND cdr_datetime BETWEEN '{1}' AND '{2}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) GROUP BY cdr_id ORDER BY department_description", siteId, startDateTime, endDateTime, callClass, callType))
Else
daCostCenterSummary.SetWhereClause(String.Format("cdr_site_id = '{0}' AND cdr_datetime BETWEEN '{1}' AND '{2}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) GROUP BY cdr_id ORDER BY cost_center_description", siteId, startDateTime, endDateTime, callClass, callType))
End If
好吧,我知道答案了 在Generate.aspx.vb中,我在其中插入了以下代码
If costcenterby = "name" Then
daCostCenterSummary.SetWhereClause(String.Format("cdr_site_id = '{0}' AND cdr_datetime BETWEEN '{1}' AND '{2}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) GROUP BY cdr_id ORDER BY department_description", siteId, startDateTime, endDateTime, callClass, callType))
Else
daCostCenterSummary.SetWhereClause(String.Format("cdr_site_id = '{0}' AND cdr_datetime BETWEEN '{1}' AND '{2}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) GROUP BY cdr_id ORDER BY cost_center_description", siteId, startDateTime, endDateTime, callClass, callType))
End If