//metodo para llenar informe principal //NOTA: el subinforme obtiene los datos de esta consulta, si falta alguno no lo muestra public Data_Reportes ObtenerInforme(string saveLocation, string url_defecto) { //definimos la fila la cual contendra los datos del datatable intermedio DataRow fila; //dr //definimos un datatable principal y llamamos al dataset DataTable personaInformacion = new DataTable(); //dt Data_Reportes datos = new Data_Reportes(); //llenamos el datatable principal con la info del data set personaInformacion = datos.Tables["DT_archivos"]; //hacemos una consulta para obtener los datos en otro datatable que servira de intermedio //Dao_Ver_Reportes dao = new Dao_Ver_Reportes(); //DataTable Intermedio = dao.consultar_reporte_archivos(); List <sp_reporte_archivos_Result> datos2 = operacion_n.sp_reporte_archivos().ToList <sp_reporte_archivos_Result>(); DataTable Intermedio = ToDataTable(datos2); //recorremos el datatable intermedio for (int i = 0; i < Intermedio.Rows.Count; i++) { //definimos una nueva fila para agregar los datos del datatable intermedio fila = personaInformacion.NewRow(); //agregamos las campos y los llenamos con los datos del datatable intermedio fila["id_archivo"] = int.Parse(Intermedio.Rows[i]["id_archivo"].ToString()); fila["nombre"] = Intermedio.Rows[i]["nombre_archivo"].ToString(); fila["anio"] = Intermedio.Rows[i]["anio_archivo"].ToString(); fila["sinopsis"] = Intermedio.Rows[i]["sinopsis_archivo"].ToString(); fila["num_pag"] = int.Parse(Intermedio.Rows[i]["num_pag"].ToString()); fila["url"] = Intermedio.Rows[i]["url"].ToString(); fila["id_usuario"] = int.Parse(Intermedio.Rows[i]["id_usuario"].ToString()); fila["id_estado"] = int.Parse(Intermedio.Rows[i]["id_estado"].ToString()); fila["id_categoria"] = int.Parse(Intermedio.Rows[i]["id_categoria"].ToString()); fila["tags"] = Intermedio.Rows[i]["tags"].ToString(); fila["id_moderador"] = int.Parse(Intermedio.Rows[i]["id_moderador"].ToString()); fila["estado_mod"] = int.Parse(Intermedio.Rows[i]["estado_mod"].ToString()); fila["user_name"] = Intermedio.Rows[i]["usuario"].ToString(); fila["categoria"] = Intermedio.Rows[i]["categoria"].ToString(); fila["precio"] = int.Parse(Intermedio.Rows[i]["precio_categoria"].ToString()); //para la imagen se utiliza un metodo fila["imagen_portada"] = obtenerImagen(Intermedio.Rows[i]["imagen_portada"].ToString(), saveLocation, url_defecto); //finalmente ya con los datos, agregamos la fila al datatable principal personaInformacion.Rows.Add(fila); } return(datos); }
//metodo para llenar informe principal //NOTA: el subinforme obtiene los datos de esta consulta, si falta alguno no lo muestra public Data_Reportes ObtenerInforme() { //definimos la fila la cual contendra los datos del datatable intermedio DataRow fila; //dr //definimos un datatable principal y llamamos al dataset DataTable personaInformacion = new DataTable(); //dt Data_Reportes datos = new Data_Reportes(); //llenamos el datatable principal con la info del data set personaInformacion = datos.Tables["DT_usuarios"]; //hacemos una consulta para obtener los datos en otro datatable que servira de intermedio //Dao_Ver_Reportes dao = new Dao_Ver_Reportes(); //DataTable Intermedio = dao.consultar_reporte_usuarios(); List <sp_reporte_usuarios_Result> datos2 = operacion_n.sp_reporte_usuarios().ToList <sp_reporte_usuarios_Result>(); DataTable Intermedio = ToDataTable(datos2); //recorremos el datatable intermedio for (int i = 0; i < Intermedio.Rows.Count; i++) { //definimos una nueva fila para agregar los datos del datatable intermedio fila = personaInformacion.NewRow(); //agregamos las campos y los llenamos con los datos del datatable intermedio fila["id_usuario"] = int.Parse(Intermedio.Rows[i]["id_usuario"].ToString()); fila["nombre"] = Intermedio.Rows[i]["nombre_user"].ToString(); fila["apellido"] = Intermedio.Rows[i]["apellido_user"].ToString(); fila["documento"] = Intermedio.Rows[i]["documento_user"].ToString(); fila["telefono"] = Intermedio.Rows[i]["telefono_user"].ToString(); fila["correo"] = Intermedio.Rows[i]["correo_user"].ToString(); fila["usuario"] = Intermedio.Rows[i]["usuario"].ToString(); fila["clave"] = Intermedio.Rows[i]["clave"].ToString(); fila["dinero"] = Intermedio.Rows[i]["dinero_user"].ToString(); fila["id_rol"] = Intermedio.Rows[i]["id_rol"].ToString(); fila["rol"] = Intermedio.Rows[i]["rol"].ToString(); //finalmente ya con los datos, agregamos la fila al datatable principal personaInformacion.Rows.Add(fila); } return(datos); }
}//page_load private void poblar_reporte() { try { //llamamos los metodos para llenar los informes L_Reporte_usuarios operacion = new L_Reporte_usuarios(); Data_Reportes reporte = operacion.ObtenerInforme(); CRS_usuarios.ReportDocument.SetDataSource(reporte); CRV_usuarios.ReportSource = CRS_usuarios; } catch (Exception exc) { throw exc; } }//poblar reporte
//metodo para llenar informe principal //NOTA: el subinforme obtiene los datos de esta consulta, si falta alguno no lo muestra public Data_Reportes ObtenerInforme(string saveLocation, string url_defecto) { //definimos la fila la cual contendra los datos del datatable intermedio DataRow fila; //dr //definimos un datatable principal y llamamos al dataset DataTable personaInformacion = new DataTable(); //dt Data_Reportes datos = new Data_Reportes(); //llenamos el datatable principal con la info del data set personaInformacion = datos.Tables["DT_autores"]; //hacemos una consulta para obtener los datos en otro datatable que servira de intermedio //Dao_Ver_Reportes dao = new Dao_Ver_Reportes(); //DataTable Intermedio = dao.consultar_reporte_autores(); List <sp_reporte_autores_Result> datos2 = operacion_n.sp_reporte_autores().ToList <sp_reporte_autores_Result>(); DataTable Intermedio = ToDataTable(datos2); //recorremos el datatable intermedio for (int i = 0; i < Intermedio.Rows.Count; i++) { //definimos una nueva fila para agregar los datos del datatable intermedio fila = personaInformacion.NewRow(); //agregamos las campos y los llenamos con los datos del datatable intermedio fila["id_autor"] = int.Parse(Intermedio.Rows[i]["id_autor"].ToString()); fila["nombre"] = Intermedio.Rows[i]["nombre_autor"].ToString(); fila["fecha_birth"] = Intermedio.Rows[i]["fecha_nacimiento"].ToString(); fila["fecha_death"] = Intermedio.Rows[i]["fecha_muerte"].ToString(); fila["descripcion"] = Intermedio.Rows[i]["descripcion_autor"].ToString(); fila["id_nacionalidad"] = int.Parse(Intermedio.Rows[i]["id_nacionalidad"].ToString()); fila["pais"] = Intermedio.Rows[i]["pais"].ToString(); //para la imagen se utiliza un metodo fila["foto"] = obtenerImagen(Intermedio.Rows[i]["foto"].ToString(), saveLocation, url_defecto); //finalmente ya con los datos, agregamos la fila al datatable principal personaInformacion.Rows.Add(fila); } return(datos); }
}//page_load private void poblar_reporte() { string saveLocation = Server.MapPath("~\\Imagenes\\Imagenes_Archivos"); string url_defecto = Server.MapPath("~\\Imagenes\\"); try { //llamamos los metodos para llenar los informes L_Reporte_archivos operacion = new L_Reporte_archivos(); Data_Reportes reporte = operacion.ObtenerInforme(saveLocation, url_defecto); CRS_archivos.ReportDocument.SetDataSource(reporte); CRV_archivos.ReportSource = CRS_archivos; } catch (Exception exc) { throw exc; } }//poblar reporte