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

Agregar columna al GridView

Estas en el tema de Agregar columna al GridView en el foro de ASPX (.net) en Foros del Web. holas nuevamente... necesito hacer lo siguiente: Tengo un gridview que se carga con una consulta X, a este, ademas de los datos le agregué en ...
  #1 (permalink)  
Antiguo 25/06/2008, 08:26
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta Agregar columna al GridView

holas nuevamente...

necesito hacer lo siguiente:

Tengo un gridview que se carga con una consulta X, a este, ademas de los datos le agregué en modo diseño un boton "EDITAR", lo que necesito hacer es que una vez haciendo click sobre ese boton pueda yo agregar una columna al gridview de tipo "dropdownlist" o "listbox" con datos de otra consulta...

es posible esto??

saludos
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #2 (permalink)  
Antiguo 25/06/2008, 11:49
 
Fecha de Ingreso: enero-2005
Mensajes: 140
Antigüedad: 19 años, 3 meses
Puntos: 0
Desacuerdo Respuesta: Agregar columna al GridView

Con .NET es posible todo .
Por pasos, puedes crear una columna del tipo TemplateField. Estas columnas sirven para personalizar el tipo de contenido que se muestra en cada columna, ademas puedes especificar el contenido que se va a mostrar cuando la fila este o no editable, no se si ese es tu caso o en vez de una fila en particular quieres que se muestren los combos sobre todas las filas.

Podrias poner como columna del GridView p.ej;
Código:
  
  <asp:TemplateField>
<ItemTemplate>
                        <asp:DropDownList ID="drpContenido" runat="server">
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
Y en el evento RowDataBound del GridView:
Código:
    protected void Grid_OnRowDataBound(object sender, GridViewRowEventArgs e)
    {
        switch (e.Row.RowType)
        {
            case DataControlRowType.DataRow:
                DropDownList drp = e.Row.FindControl("drpContenido") as DropDownList;
                if(drp!=null)
                {
                    // aqui rellenarias el combo de la columna
                }
                break;
        }
    }
Al cargar el grid por primera vez puedes ocultar la columna grid.Columns[indice].Visible = false

y cuando le des al boton editar pondrías la columna visible grid.Columns[indice].Visible = true

De esta manera tendrías la columna con los datos del combo de distinto origen de datos.
  #3 (permalink)  
Antiguo 25/06/2008, 12:29
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Agregar columna al GridView

sencillamente perfecto el ejemplo...justo lo que quería...

mencionas la opcion de mostrar el dropdownlist solo para la fila editable...
que habría que hacer en este caso??

saludos y gracias
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
  #4 (permalink)  
Antiguo 26/06/2008, 01:01
 
Fecha de Ingreso: enero-2005
Mensajes: 140
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Agregar columna al GridView

Para solo mostrar el dropdownlist en una fila seria modificando ligeramente el ItemTemplate que quedaría de la siguiente manera

Código:
 <asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblContenido" runat="server" />
                            </ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="drpContenido" runat="server">
                        </asp:DropDownList>
                
</EditItemTemplate>
                </asp:TemplateField>
Como te habras fijado he cambiado el dropdownlist de ItemTemplate a EditItemTemplate, eso hara que cuando la fila este editable se muestre el contenido de EditItemTemplate y cuando no lo este se muestre el contenido de ItemTemplate. De esta manera en todas las filas mostraras la etiqueta excepto en la fila que este editable en ese momento.

Para hacer editable una fila simplemente tienes que establecer en la propiedad EditIndex de GridView el indice de fila que quieres que este editable.
  #5 (permalink)  
Antiguo 26/06/2008, 08:04
Avatar de el mago de oz  
Fecha de Ingreso: octubre-2005
Mensajes: 192
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Agregar columna al GridView

fantástico y gracias
__________________
"No a las dictaduras, no a la impunidad, no al comercio injusto que explota al menor de edad. Sí a las autocracias, sí a la libertad, el tercer mundo va a estallar."
Finisterra MAGO DE OZ
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 04:22.