Foros del Web » Programando para Internet » ASPX (.net) »

Ocultar columna en DataGrid ASP 2.0

Estas en el tema de Ocultar columna en DataGrid ASP 2.0 en el foro de ASPX (.net) en Foros del Web. Buenas tardes amigos, Verán me estoy iniciando en ASP.NET, yo vengo de ASP 3.0 y de PHP. En referente a aplicaciones windows .NET no tengo ...
  #1 (permalink)  
Antiguo 26/11/2006, 12:07
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Ocultar columna en DataGrid ASP 2.0

Buenas tardes amigos,

Verán me estoy iniciando en ASP.NET, yo vengo de ASP 3.0 y de PHP. En referente a aplicaciones windows .NET no tengo ningún problema, me lo como todo.

Sin embargo aqui, creo que tengo un problema de novato... verán, en modo diseño he agregado un DataGrid (objGrid) y le he agregado una columna de tipo Edit para tener el enlace de editar.

Despues en el código, cargo a ese DataGrid un DataTable con ciertos datos. Bien, hasta ahi no hay problema, me muestra los datos y todo perfecto.

Pero despues, paro la compilación, meto la línea:
Código:
objGrid.Columns[1].Visible = False;
Y me dice que el ojbeto está fuera de rango, hice un objGrid.Count en el visualizador del Visual Studio y me dice que el DataGrid solo tiene una Columna !!!! cuando yo estoy viendo la columna edit (Es la única que ve), la columna nombre, la columna apellidos, etc...

¿Alguien sabe por que no me cuenta estas columnas cargadas del DataTable?, ¿Como podría hacer para que me oculte una columna?

En fin, espero haberme explicado y que puedan ayudarme, me imagino que será un problema de novato, pero en fin...

Bueno, un saludo muy fuerte para toda la comunidad.

Y gracias.
__________________
Charlie.
  #2 (permalink)  
Antiguo 29/11/2006, 11:43
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Bueno... alguien tiene que saber como se hace, ¿No?
__________________
Charlie.
  #3 (permalink)  
Antiguo 29/11/2006, 11:44
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 4 meses
Puntos: 2
a

puedes poner un ejemplo del codigo?
Has verificado que se cargan los datos correctamente?
Ahora mismo no lo he probado pero si solo hay una columna, el control enumera desde 0 ó desde 1?

Un saludo
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores
  #4 (permalink)  
Antiguo 29/11/2006, 12:02
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
no estaras poniendolas invisibles dentro de las propiedades? (en properties)
  #5 (permalink)  
Antiguo 29/11/2006, 14:04
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Mmm, no soy un principiante shumito. No soy un gran guru de ASP.NET pero hasta ahí si llego a saber hacer las cosas amigo. De todas formas, voy a perder el tiempo aclarándotelo.

El DataGrid tiene más de 1 columna y si, ya sé que empieza por cero el index.

El DataGrid tiene datos.

El DataGrid se muestra correctamente siempre. Menos cuando pongo esa línea que es donde falla.

Saludos y si alguien me puede ayudar se lo agradecería.

Nuevamente gracias por el tiempo que me dan.
__________________
Charlie.
  #6 (permalink)  
Antiguo 29/11/2006, 14:18
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
lo que si se es que cuando pones invisible una columna cambia tu cantidad original de columnas...es decir si inicialmente tenias 6 y pones invisible una columna luego te contara 5 ...suerte..
  #7 (permalink)  
Antiguo 30/11/2006, 01:31
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Vale pero hago lo siguiente:

Código:
objDataGrid.DataSource = tbDatos; //Es un DataTable
objDataGrid.DataBind();

//Aqui es donde falla que me dice que el indice del rango esta fuera. Cuando 
//en teoría tengo 7 columnas... Por lo uqe yo se, despues de hacer el
//.Visibe = false es cuando me debería de descontar el número de columnas.
//No antes.
objDataGrid.Columns[2].Visible = false;

Espero haberme explicado y que puedan ayudarme, Gracias.
__________________
Charlie.
  #8 (permalink)  
Antiguo 30/11/2006, 05:44
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 4 meses
Puntos: 2
Me imagino que compruebas por si acaso el número con: tudatagrid.Columns.Count.ToString(), no?
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores
  #9 (permalink)  
Antiguo 28/06/2007, 03:51
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Ocultar columna en DataGrid ASP 2.0

Yo tengo el mismo problema, y aun no teniendo la solución, se la causa.

El problema es que al asignar la carga del DataSet, las columnas se crean en tiempo de ejecución, con lo que las columnas aún no se han creado, por eso solo aparecen las dos creadas manualmente como columnas Edit.
Luego ya se asigna, supongo que con un DataSet y las columnas se crean en tiempo de ejecución.

Yo quiero hacer una de las columnas que carga del data SEt, invisible, pero no encuentro ningún evento que se ejecute una vez cargada las columnas
  #10 (permalink)  
Antiguo 28/06/2007, 17:18
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
Re: Ocultar columna en DataGrid ASP 2.0

ademas tienes que poner el header de la columna invisible pero via codigo...
  #11 (permalink)  
Antiguo 02/07/2007, 08:12
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Re: Ocultar columna en DataGrid ASP 2.0

Hola!
mmm... suena un tanto extraño tantos problemas para ocultar una columna...
El título del mensaje es: Ocultar columna en DataGrid ASP 2.0
Por qué no usan un GridView? Tengo más experiencia con este, a parte que lo veo como una evolución del anterior datagrid (que era mucho mas problemático).
Con este control, haciendo todo en tiempo de ejecución, os puedo decir que esto funciona:
Código:
objDataGrid.DataSource = tbDatos; //Es un DataTable
objDataGrid.DataBind();
objDataGrid.Columns[2].Visible = false;
//Incluso esto funciona, impensable en el anterior datagrid:
//objDataGrid.Columns["Nombre"].Visible = false;
Saludos.
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 02/07/2007 a las 08:19
  #12 (permalink)  
Antiguo 31/08/2007, 06:41
 
Fecha de Ingreso: noviembre-2003
Mensajes: 5
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Ocultar columna en DataGrid ASP 2.0

lo tienes que hacer en el evento dataBound
Código:
objDataGrid_DataBound(object sender, EventArgs e){
   objDataGrid.Columns[3].Visible=false;
}
  #13 (permalink)  
Antiguo 03/09/2007, 07:34
 
Fecha de Ingreso: agosto-2007
Mensajes: 36
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Ocultar columna en DataGrid ASP 2.0

hola mira yo tambien estoy empezando pero asi como tu preguntando solucione un problema pero yo utilizo el gridview es mas facil y puedes programarlo como desees, ya que tienes tus datos con las columnas correspondientes, revisa q todo funcione bien, entonces ve a (Page Eventos) y en SaveStateComplete escribe gridview.columns(#).visiblre = false recuerda q index como en el data grid comienza en 0 asi q cuenta q columna quieres ocultar y de ahi en adelante, puedes poner un do while por si son muchas columnas, espero te sirva.
  #14 (permalink)  
Antiguo 04/03/2010, 11:25
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Ocultar columna en DataGrid ASP 2.0

Hola amigos , soy nuevo en el foro, su problema yo tambien lo tuve, y buscando codigo, en contre esto:

Gv_consolidado="es el nombre mi gridview"

*no se si esto se aplica a un datagrid, pero nada pierden intentandolo.

Protected Sub Gv_Consolidado_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles Gv_Consolidado.RowCreated
If (e.Row.Cells.Count > 0) Then
e.Row.Cells(0).Visible = False
e.Row.Cells(1).Visible = False
End If

End Sub

*solo vasta con esto, para poder ocultar la columna en un gridview, espero les ayude.
  #15 (permalink)  
Antiguo 04/03/2010, 12:35
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Ocultar columna en DataGrid ASP 2.0

Hola humb3rt0x

Te recuerdo el aviso que había al final de este tema y que parece que no has leído o no le has hecho ni caso.



Tema cerrado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:49.