Principales respuestas
Filtrar reporte rdlc con dropdownlist

Pregunta
-
Hola,
estoy haciendo un reporte rdlc con reportviewer, c#.net 2010 y sqlserver, el cual quiero filtrar segun el valor seleccionado en un dropdownlist, pero siempre me toma el primer valor de la lista.
este es el codigo:
public partial class Rpt_pctesSector : System.Web.UI.Page
{int sector;
cbo.DataSource = func.llenaSector();
protected void Page_Load(object sender, EventArgs e)
{
cbo.DataTextField = "DESCRIP";
cbo.DataValueField = "COD_SEC";
cbo.DataBind();}
private DataTable getReport()
{
DataTable tabla = new DataTable();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cn"].ConnectionString);
try
{
SqlCommand cmd = new SqlCommand("HOS_PCTES_SECTOR", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("COD_SEC", sector);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(tabla);
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
finally
{
if (con != null)
{
con.Close();
}
}
return tabla;
}
protected void btnok_Click(object sender, EventArgs e)
{
//sector = Convert.ToInt32(Session["sector"]);
DataTable dt = getReport();
ReportViewer1.LocalReport.ReportPath = "Reportes/Pctes_sector.rdlc";
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));
ReportViewer1.DataBind();
ReportViewer1.Visible = true;
}
protected void cbosector_SelectedIndexChanged(object sender, EventArgs e)
{
Session["sector"] = Convert.ToInt32(cbosector.SelectedValue);
sector = Convert.ToInt32(Session["sector"]);
}
}intente con variables de sesion pero no funciona,siempre toma solamente el primer item del dropdown.
alguna idea??
Respuestas
-
hola
intenta usando
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { cbo.DataSource = func.llenaSector(); cbo.DataTextField = "DESCRIP"; cbo.DataValueField = "COD_SEC"; cbo.DataBind(); } }
de esta forma al lanzarse el evento no se recargara el combo
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta daniel_316.- miércoles, 10 de junio de 2015 19:57
Todas las respuestas
-
hola
intenta usando
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { cbo.DataSource = func.llenaSector(); cbo.DataTextField = "DESCRIP"; cbo.DataValueField = "COD_SEC"; cbo.DataBind(); } }
de esta forma al lanzarse el evento no se recargara el combo
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta daniel_316.- miércoles, 10 de junio de 2015 19:57
-