Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GridView Agrupado

48 views
Skip to first unread message

Karina

unread,
Oct 14, 2008, 12:03:26 PM10/14/08
to
Hola a todos.!!!
Quiero realizar un GridView que me agrupe datos o sea que la cabecera los
datos agrupados por ejemplo por Fecha Movimientos y si se hace click en un
boton al lado que muestre todo lo relacionado a esa fecha de movimiento.

Ej
El signo más seria el boton
+ Fecha Movimiento
14/10/2008


Y cuando hago click en el signo más muestra el detalle de esa fecha
Fecha Movimiento Descripcion
14/10/2008
XXXXXXXXX
PPPPPPPPPPPP
QQQQQQQQQ

P.D: Estoy trabajando con VS2005.
Desde ya muchas gracias.
Karina.


Sergio E.

unread,
Oct 14, 2008, 5:05:23 PM10/14/08
to
pues la solucion es facil, tu gridview puede ser llenado con un datatable,
siendo asi los datos los puedes añadir manualmente al datatable al hacer
click con el raton en el "+"

añadele un boton imagen a tu gv a la izquierda, dale commandname y en el
evento rowcommand algo asi:
Protected Sub GVArbol_RowCommand(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewCommandEventArgs) Handles
GVArbol.RowCommand
Dim lRowIndex As Integer = CInt(e.CommandArgument)
Dim lFecha As String =
Me.GVArbol.DataKeys(lRowIndex).Values("Fecha").ToString()
Select Case (e.CommandName)
Case "Expandir"
Me.SubArbol(lFecha)
'yo tengo mas cosas aqui en otros comandos del gv y todos se procesan en
este metodo
case else
end select
end sub

private sub SubArbol(byval pFecha as string)
'aqui haces tu select where fecha=pfecha en un nuevo datatable
'y luego le añades al datatable fuente del gridview los elementos
copiandolos, para ello tu datatable puede tener la columna de +, la de fecha
y la de datos expandidos que estara vacia en los renglones de las fechas
end sub


--
Saludos,
Sergio E.

"Karina" <kar...@cyneric.com> escribió en el mensaje
news:ODKRkZhL...@TK2MSFTNGP05.phx.gbl...

SergioT

unread,
Oct 20, 2008, 9:49:50 AM10/20/08
to
Hola tocayo

no llego a entender tu propuesta, tienes un datatable enlazado al grid,
luego pones una columna template y ahi un boton, cuando oprimen el boton se
va a l evento rowCommand, hasta ahi clarisimo y sin novedad, luego llamas a
una subArbol(fecha) , que haces ahi adentro??? como metes el arbol en el
grud¿=? o es un grid invisible en cada celda y cuando le das al boton
enlazas el grid y lo vuelves visible¿¿?? como haces para hacer aparecer un
grind de datos relacionados dentro del grid principal


thnks
Sergio

"Sergio E." <gruporemp[ARROBA]hotmail.com> escribió en el mensaje de
noticias:#SPEFDkL...@TK2MSFTNGP06.phx.gbl...

Sergio E.

unread,
Oct 24, 2008, 2:07:14 PM10/24/08
to
Basicamente lo que hago es:
Genero un datatable que será lo que mostrará el grid, este tiene cierta
cantidad de campos fijos, y está hecho de tal suerte que los renglones al
hacer un dataview de este datatable o ordenar por ciertas columnas los
registros me quedarán ordenados como debe ser
El gridview tiene columnas para cada campo del datatable y una columna a
lmenos para el commandbutton que hará el abrir o cerrar el detalle de ese
elemento.
Entonces en la funcion de SubArbol hago un select a un datatable nuevo con
la misma estructura que el datatable que llena el grid..., si tiene datos
entonces los añado al datatable del grid.
Lluego genero el citado dataview, lo ordeno, lo asigno al gridview como
datasource y le hago gv.databind()

La columna del boton no tiene que ser de tipo template, puede ser normal, un
boton.. solo hay que especificarle que tiene commandname que es el que se
utiliza en el método que indico...
de hecho cosmeticamente mi boton tiene un "+" como imagen cuando ese
elemento está "cerrado" y "-" cuando está abierto, cosa que hago con una
condicion en el evento rowdatabound y una columna en el datatable de datos
que me indica si es padre o hija la fila.


--
Saludos,
Sergio E.


"SergioT" <stardi...@gmail.com> escribió en el mensaje
news:5FA84456-252C-4F8F...@microsoft.com...

0 new messages