ERRO REPORT VIEWER
14/02/2014
0
Olá pessoal,estou tentando gerar um relatório usando reportviewer mas está dando o seguinte erro:
A DataSourceID da ReportDataSource 'dsRelatorio' do ReportViewer '' deve ser a identificação de um controle do tipo IDataSource. Não foi possível localizar um controle com identificação 'System.Collections.Generic.List`1['.
O código é esse aqui:
A classe que gera o relatório:
E o código da Classe lRel
Se alguém puder ajudar ficarei muito grato.
A DataSourceID da ReportDataSource 'dsRelatorio' do ReportViewer '' deve ser a identificação de um controle do tipo IDataSource. Não foi possível localizar um controle com identificação 'System.Collections.Generic.List`1['.
O código é esse aqui:
A classe que gera o relatório:
public partial class FrmRelatoriosReportViewer : System.Web.UI.Page { SqlConnection Con = null; protected void Page_Load(object sender, EventArgs e) { try { //Título da página if (!IsPostBack) { Page.Title = "Relatório"; /***************************************************/ ClsRel lRel = new ClsRel(); List<object[]> lListaDataSource = new List<object[]>(); object[] lDsResolucoesHTML = { "dsRelatorio", lRel.GerarListaResolucoesHTML(Session["$SELECT$"].ToString()) }; lListaDataSource.Add(lDsResolucoesHTML); rpvRelatorio.Visible = true; this.rpvRelatorio.LocalReport.DataSources.Clear(); rpvRelatorio.LocalReport.ReportPath = Server.MapPath("~\\Relatórios\\" + Session["$Relatorio_rdlc$"].ToString()); foreach (object[] lItem in lListaDataSource) { ReportDataSource lDataSource = new ReportDataSource(lItem[0].ToString(), lItem[1].ToString()); rpvRelatorio.LocalReport.DataSources.Add(lDataSource); } this.rpvRelatorio.LocalReport.Refresh(); } } catch (Exception ex) { Con.Close(); ScriptManager.RegisterStartupScript(this, this.GetType(), "alerta", "window.alert('Não foi possível gerar o relatório:\n" + ex.Message + "');", true); } } }
E o código da Classe lRel
public class ClsRel { SqlConnection Con = null; public List<ListaResolucoesHTML> GerarListaResolucoesHTML(string pSelect) { try { string gSql = string.Empty; SqlConnection con = new SqlConnection(); con.ConnectionString = "Password=1q2w3e!Q@W#E;Persist Security Info=True;User ID=sa;Initial Catalog=protocolo;Data Source=cdcsql"; con.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandType = CommandType.Text; cmd.CommandText = pSelect;// Session["$SELECT$"].ToString(); DataTable dt = new DataTable(); dt.Load(cmd.ExecuteReader()); con.Close(); List<ListaResolucoesHTML> lLista = new List<ListaResolucoesHTML>(); foreach (DataRow lDr in dt.Rows) { ListaResolucoesHTML lAtributos = new ListaResolucoesHTML(); lAtributos.Numero_Resolucao = lDr["Numero_Resolucao"].ToString(); lAtributos.Data_resolucao = (DateTime)lDr["Data_resolucao"]; lAtributos.Sequencial_processo = lDr["Sequencial_processo"].ToString(); lAtributos.Volume_processo = Convert.ToInt32(lDr["Volume_processo"]); lAtributos.Assunto = lDr["Assunto"].ToString(); lAtributos.Numero_Ord_Resolução = (int)lDr["Numero_Ord_Resolução"]; lAtributos.Descricao = lDr["Descricao"].ToString(); lAtributos.Seq_Documento_Sem_Volume = (int)lDr["Seq_Documento_Sem_Volume"]; lAtributos.Seq_Fonte_Recursos = lDr["Seq_Fonte_Recursos"].ToString(); lAtributos.seq_parte = Convert.ToInt32(lDr["seq_parte"]); lAtributos.Desc_Interessado = lDr["Desc_Interessado"].ToString(); lAtributos.Valor = (decimal)lDr["Valor"]; lLista.Add(lAtributos); } //Session["ListaDataSource"] = lLista; return lLista; } catch (Exception ex) { throw ex; } } } [Serializable] public class ListaResolucoesHTML { public String Numero_Resolucao { get; set; } public DateTime Data_resolucao { get; set; } public String Sequencial_processo { get; set; } public int Volume_processo { get; set; } public String Fonte_Recursos { get; set; } public String Assunto { get; set; } public int Numero_Ord_Resolução { get; set; } public String Descricao { get; set; } public int Seq_Documento_Sem_Volume { get; set; } public String Seq_Fonte_Recursos { get; set; } public int seq_parte { get; set; } public String Desc_Interessado { get; set; } public Decimal Valor { get; set; } public bool Validado { get; set; } }
Se alguém puder ajudar ficarei muito grato.
Thiago Albuquerque.
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)