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

Obtener "Column" Index con RowCommand [SOLUCIONADO]

Estas en el tema de Obtener "Column" Index con RowCommand [SOLUCIONADO] en el foro de ASPX (.net) en Foros del Web. Que tal a todos, Tengo un GridView, al cual le genero columnas de tipo ButtonField dinamicamente deacuerdo a las columnas un DataTable. Hasta aqui todo ...
  #1 (permalink)  
Antiguo 02/10/2009, 17:29
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Obtener "Column" Index con RowCommand [SOLUCIONADO]

Que tal a todos,

Tengo un GridView, al cual le genero columnas de tipo ButtonField dinamicamente deacuerdo a las columnas un DataTable.

Hasta aqui todo bien, pero por lo mismo, que no se el Indice de la columna, porque fue creada dinamicamente en tiempo de ejecucion, no puedo leer datos de las celdas, ya que para esto, necesito el Indice de la celda, es decir, el de la columna para poder leer algun texto dentro de la celda.

¿Como puedo obtener el Index de la columna donde estoy haciendo clic disparando el evento RowCommand?

Saludos y gracias in advance!!
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]

Última edición por Fann_Lavigne; 03/10/2009 a las 14:39 Razón: Encontre la solución
  #2 (permalink)  
Antiguo 03/10/2009, 14:38
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Respuesta: Obtener "Column" Index con RowCommand

Listo, ya lo resolvi.

Como agrego las columnas ButtonField dinamicamente, entonces le puedo poner un CommandName, a pues ahi se me prendio el foco, y al CommandName le he puesto el indice de la columna, asi, al ejecutar el RowCommand, leo el CommandName recibido y este va a ser el numero del indice de la columna ke necesitaba obtener.

Anexo el codigo de como lo hice.

Código:
Function LoadGrid() As Nullable
        Dim dc_DataCol As DataColumn
        Dim int_ColIndex As Integer = 0

        With Me.gv_PromoSchedule
            .Columns.Clear()
            'Para cada columna dentro de nuestro DT Schedule, creamos las nuestras con TemplateColumns
            For Each dc_DataCol In Schedule.Columns
                int_ColIndex += 1
                If int_ColIndex Mod 2 <> 0 Then
                    Dim bdfl As New BoundField
                    With bdfl
                        .HeaderText = dc_DataCol.ColumnName
                        .DataField = dc_DataCol.ColumnName
                    End With
                    .Columns.Add(bdfl)
                Else
                    Dim btnfl As New ButtonField
                    With btnfl
                        .HeaderText = dc_DataCol.ColumnName
                        .DataTextField = dc_DataCol.ColumnName
                        .CommandName = int_ColIndex
                        .CausesValidation = False
                        .AccessibleHeaderText = dc_DataCol.ColumnName
                    End With
                    .Columns.Add(btnfl)
                End If
            Next

            .DataSource = Schedule()
            .DataBind()
        End With

        Return Nothing
    End Function
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
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 10:53.