ReportViewer 列表框的多个结果

ReportViewer multiple result of listbox

我必须制作一个带有列表框的报告,其中选择了多个结果

Image

但是当我到达数据表时,我不知道如何让它显示不同值的结果。选中。 这是我的代码...

protected void CargaReporte(object sender, EventArgs e)
     {
        dsReportes.SP_REPORTE_EVENTOS_CALENDARIODataTable dt = new dsReportes.SP_REPORTE_EVENTOS_CALENDARIODataTable();
        dsReportesTableAdapters.SP_REPORTE_EVENTOS_CALENDARIOTableAdapter da = new dsReportesTableAdapters.SP_REPORTE_EVENTOS_CALENDARIOTableAdapter();
        ReportDataSource RD = new ReportDataSource();
        List<dynamic> lst = new List<dynamic>();
        if (ddUsu.SelectedIndex == 0)
        {
            foreach (ListItem item in ddUsu.Items)
            {
                if (item.Selected)
                {
                    da.Fill(dt, int.Parse(ddUsu.SelectedValue));
                    lst.Add(dt);
                }
            }
        }
        else
        {
            da.Fill(dt, int.Parse(ddUsu.SelectedValue == "" ? "0" : ddUsu.SelectedValue));
        }
        divReporte.Visible = true;

        RD.Value = lst.ToArray();
        RD.Name = "dbCalendarioEventos";
        rvReporteCalendarioEventos.LocalReport.DataSources.Clear();
        rvReporteCalendarioEventos.LocalReport.DataSources.Add(RD);
        rvReporteCalendarioEventos.LocalReport.ReportEmbeddedResource = "ReporteCalendarioEventos.rdlc";
        rvReporteCalendarioEventos.LocalReport.ReportPath = @"Reportes\Calendario\ReporteCalendarioEventos.rdlc";
        rvReporteCalendarioEventos.LocalReport.Refresh();
    }

如何填写包含两个或更多结果的报告?

已解决:

另外创建一个DataTable来保存通过foreach路径后设置的信息,这样我就可以得到结果我分享部分代码

string participante = (txtParticipante.Value == "" ? " " : txtParticipante.Value);
        dsReportes.SP_REPORTE_EVENTOS_CALENDARIODataTable dt = new dsReportes.SP_REPORTE_EVENTOS_CALENDARIODataTable();
        DataTable table = new DataTable();
        dsReportesTableAdapters.SP_REPORTE_EVENTOS_CALENDARIOTableAdapter da = new dsReportesTableAdapters.SP_REPORTE_EVENTOS_CALENDARIOTableAdapter();
        ReportDataSource RD = new ReportDataSource();
        table = dt.Clone();
        var FechaInicio_ini = FechaInicio(CEV_FECHA_INICIO_ini.Value);
        var FechaInicio_fin = FechaFin(CEV_FECHA_INICIO_fin.Value);
        var FechaFin_ini = FechaInicio(CEV_FECHA_FIN_Ini.Value);
        var FechaFin_fin = FechaFin(CEV_FECHA_FIN_fin.Value);

        try
        {
            if (ddUsu.SelectedValue != "")
            {
                foreach (ListItem item in ddUsu.Items)
                {
                    if (item.Selected == true)
                    {
                        da.Fill(dt, int.Parse(item.Value),
                               FechaInicio_ini, FechaInicio_fin,
                              FechaFin_ini, FechaFin_fin,(txtParticipante.Value == "" ? " " : txtParticipante.Value));
                        foreach (DataRow dr in dt)
                        {
                            table.Rows.Add(dr.ItemArray);
                        }
                    }
                }
            }
            else
            {
                foreach(ListItem item in ddUsu.Items)
                {
                    da.Fill(dt, int.Parse(item.Value == "" ? "0" : item.Value),
                              FechaInicio_ini, FechaInicio_fin,
                             FechaFin_ini, FechaFin_fin, (txtParticipante.Value == "" ? " " : txtParticipante.Value));
                    foreach (DataRow dr in dt)
                    {
                        table.Rows.Add(dr.ItemArray);
                    }
                }
            }
            divReporte.Visible = true;

            RD.Value = table;
            RD.Name = "dbCalendarioEventos";
            rvReporteCalendarioEventos.LocalReport.DataSources.Clear();
            rvReporteCalendarioEventos.LocalReport.DataSources.Add(RD);
            rvReporteCalendarioEventos.LocalReport.ReportEmbeddedResource = "ReporteCalendarioEventos.rdlc";
            rvReporteCalendarioEventos.LocalReport.ReportPath = @"Reportes\Calendario\ReporteCalendarioEventos.rdlc";
            rvReporteCalendarioEventos.LocalReport.Refresh();
        }
        catch(Exception ex) { }            
    }

image 2