![]() |
Ocultar columnas Datagrid + paginacion HOla vereis tengo un problema con la paginacion de un datagrid. EL problema que tengo es que en el datagrid oculto una columna para que no se repita con una de tipo hypervinculo que he creado. Pero claro el problema esta en que donde sale el numero de las paginas se piensa que hay 5 columnas xq no cuenta con la oculta, cuando en verdad hay 4 columnas solo. Lo que a nivel de codigo significa que me pone colspan=5 en vez de colspan=4. Alguien que sepa como le puedo decir a la paginacion del datagrid que hay una columna oculta??? muchas gracias xq cualquier sugerencia xq no encuentro nada. |
Nada Sigo sin encontrar nada, es posible que necesite rehacer la paginacion por este problema???? Si es asi alguien que me pudiera decir ejemplos en c# para asp.net donde este bien explicado?? gracias. |
Parece mision imposible |
No sé lo que quieres hacer, he hecho una pequeña prueba y no tengo el "error" que mencionas. Saludos |
Pues a mi me da error, ahora no tengo el codigo conmigo pero mañana por la mañana (aki son las 22:28) te pongo el codigo para que veas mi problema. Igual te ayuda saber que mi datagrid tiene el autogeneratecolumns=true (es necesario) xq la sql varia segun la quiera el usuario. Y que el ocultar la columna lo hago en el item databound. gracias. |
Cargar el grid: private void CargarGrid() { //Response.Write(ViewState["sql"].ToString()); string connectionString = ConfigurationSettings.AppSettings["conexion"]; SqlConnection conexion= new SqlConnection(connectionString); SqlCommand comando = new SqlCommand (ViewState["sql"].ToString(),conexion); SqlDataAdapter adaptador = new SqlDataAdapter(comando); SqlCommandBuilder generarcomandos = new SqlCommandBuilder(adaptador); DataSet registros = new DataSet(); adaptador.Fill(registros,"OTs"); DataGrid1.DataSource=registros.Tables["OTs"].DefaultView; DataGrid1.HeaderStyle.CssClass="header"; DataGrid1.AlternatingItemStyle.CssClass="par"; //Response.Write(registros.Tables["OTs"].Columns.Count.ToString()); //registros.Tables["OTs"].Columns["Ot"].ColumnMapping = MappingType.Hidden; DataGrid1.DataBind(); if (DataGrid1.Items.Count < 1) { DataGrid1.Visible=false; aviso.Visible=true; aviso.Text="No hay ningun resultado disponible"; aviso.Style["color"] = "609742"; aviso.Style["font-weight"] = "normal"; } else aviso.Visible=false; } para la recarga en la paginacion: DataGrid1.CurrentPageIndex = 0; DataGrid1.CurrentPageIndex = e.NewPageIndex; CargarGrid(); ocultar la fila repetida: private void ocultar(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { e.Item.Cells.RemoveAt(1); } |
Tan dificil es que que no se muestre una columna en un datagrid y ke no se descolquen las filas cuanto el autogeneratecolumns=true???? |
Me había olvidado, probé con el mismo código que pusiste y no veo ningún error en el HTML que me genera... Saludos |
El error que genera es el la tabla donde muestra los datos, en la paginacion tiene que hacer un colspan para que los numeros de las paginas salgan en la misma fila. El problema es que lo hace pero cogiendo tb la columna que oculto por lo tanto el colspan=5 en vez de a 4. A ti no te pasa lo mismo??? |
| La zona horaria es GMT -6. Ahora son las 05:40. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.