Foros del Web » Programación para mayores de 30 ;) » .NET »

combinar celdas en un GridView

Estas en el tema de combinar celdas en un GridView en el foro de .NET en Foros del Web. holas foreros!!! tengo una pregunta saben si puedo combinar celdas en un gridview???? es decir les pongo un ejemplo: tengo un Articulo "9" que tiene ...
  #1 (permalink)  
Antiguo 09/09/2008, 15:05
 
Fecha de Ingreso: abril-2008
Mensajes: 26
Antigüedad: 16 años
Puntos: 0
combinar celdas en un GridView

holas foreros!!! tengo una pregunta saben si puedo combinar celdas en un gridview???? es decir les pongo un ejemplo:

tengo un Articulo "9" que tiene asociado un numero "n" de Oraciones, y lo quiero visualizar en un gridview de tal manera no se repita "n" veces la columna que contiene Articulo "9", sino que aparezca una sola vez en la columna, con sus "n" numeros de oraciones asociadas.

O tienen alguna otra idea????
  #2 (permalink)  
Antiguo 10/09/2008, 16:11
Avatar de diegopedro  
Fecha de Ingreso: agosto-2006
Ubicación: Santiago
Mensajes: 120
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: combinar celdas en un GridView

debes de manejarlo con el metodo
Protected Sub GridVIEW_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
__________________
Es facil apretar tornillos, pero lo complejo es saber que tornillo apretar
  #3 (permalink)  
Antiguo 10/09/2008, 16:41
 
Fecha de Ingreso: abril-2008
Mensajes: 26
Antigüedad: 16 años
Puntos: 0
Respuesta: combinar celdas en un GridView

Gracias diegopedro, pero.... podrias ser un poco mas claro???? no entiendo como es que lo puedo hacer...
  #4 (permalink)  
Antiguo 23/09/2008, 09:21
Avatar de diegopedro  
Fecha de Ingreso: agosto-2006
Ubicación: Santiago
Mensajes: 120
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: combinar celdas en un GridView

SI quieres hacer lo siguiente

GRILLA EJEMPLO

*********************************
NOMBRE PADRE NOMBRE HIJO
*********************************
DIEGOPEDRO DIEGO
DIEGOPEDRO PEDRO
TUPADRE HIJO1
TUPADRE HIJO2
*********************************

Y deseas hacer esto
*********************************
NOMBRE PADRE NOMBRE HIJO
*********************************
DIEGOPEDRO DIEGO
PEDRO
TUPADRE HIJO1
HIJO2
*********************************

El GRIDVIEW tiene un metodo que va leyendo fila a fila lo que deseas agregando a la grilla llamado.
Sub GridVIEW_RowDataBound

PASOS

1 : Debes de ubicar en una pagina un GRIDVIEW
2 : Debes de ubicar en una pagina un SQLDATASOURCE
3 : ASOCIAR GRIDVIEW CON EL SQLDATASOURCE
<asp:GridView
ID="Grid"
runat="server"
DataSourceID="SDS_"
OnRowDataBound="Grid_RowDataBound"
>
<Columns>
<asp:TemplateField HeaderText="PADRE" />
<asp:BoundField HeaderText="HIJO" DataField="CAMPODB_HIJO" />
<asp:BoundField DataField="CAMPODB_PADRE" ReadOnly="True" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SDS_" runat="server"></asp:SqlDataSource>
4 : Configura el SqlDataSource con un Procedimiento o un Select para recuperar los datos

5 : En la pagina Create una Propiedad
Public PROP_PADREACTUAL as string

6 : Create el metodo Grid_RowDataBound

Protected Sub Grid_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.Cells(3).Text <> me.PROP_PADREACTUAL then
e.Row.Cells(1).Text =e.Row.Cells(3).Text
me.PROP_PADREACTUAL = e.Row.Cells(3).Text
else
e.Row.Cells(1).Text =""
end if
End If
If e.Row.Cells.Count > 1 Then
' Oculta la columna padre
e.Row.Cells.Item(3).Visible = False
End If
End Sub

Espero que te sirva

Saludos
__________________
Es facil apretar tornillos, pero lo complejo es saber que tornillo apretar
  #5 (permalink)  
Antiguo 24/04/2009, 14:04
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Respuesta: combinar celdas en un GridView

Esto puede ser de tu ayuda.

protected void GridView1_DataBound1(object sender, EventArgs e)
{
Boolean HasData = false;
foreach (GridViewRow row in ((GridView)sender).Rows)
{
HasData = row.RowType.Equals(DataControlRowType.DataRow);
}
if (HasData.Equals(true))
{
((GridView)sender).FooterRow.Cells[0].ColumnSpan = "cantidad de celdas";
}
}
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.
Respuesta




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