【问题标题】:Calling data from DataSet (Nested If)从 DataSet 调用数据(嵌套 If)
【发布时间】:2016-03-08 21:32:35
【问题描述】:

生成.aspx.vb

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(会话)

 If (rbCostCenterName.Checked) Then
        Session("CostCenterBy") = "name"
    ElseIf (rbCostCenterNumber.Checked) Then
        Session("CostCenterBy") = "number"
 End If

输出

问题:
如何在 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

【问题讨论】:

    标签: asp.net vb.net dataset rdlc


    【解决方案1】:

    好吧,我得到了答案。

    在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 2019-03-25
      • 1970-01-01
      相关资源
      最近更新 更多