none
Identificar posiciòn de columnas en GridView RRS feed

  • Pregunta

  • Hola

    Estoy recorriendo un GridView con el fin de combinar celdas de la siguiente manera:

    
                <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound">
                    <Columns>
                        <asp:BoundField DataField="ID" HeaderText="ID"  />
                        <asp:BoundField DataField="PAIS" HeaderText="PAIS"/>
                        <asp:BoundField DataField="CIUDAD" HeaderText="CIUDAD" />
                    </Columns>
                </asp:GridView>

    Recorriendolo de la siguiente manera:

     Protected Sub GridView2_RowDataBound(sender As Object, e As GridViewRowEventArgs)
    
            For rowIndex As Integer = GridView2.Rows.Count - 2 To 0 Step -1
                Dim gviewRow As GridViewRow = GridView2.Rows(rowIndex)
                Dim gviewPreviousRow As GridViewRow = GridView2.Rows(rowIndex + 1)
                For cellCount As Integer = 0 To gviewRow.Cells.Count - 2
                    If gviewRow.Cells(cellCount).Text = gviewPreviousRow.Cells(cellCount).Text Then
                        If gviewPreviousRow.Cells(cellCount).RowSpan < 2 Then
                            gviewRow.Cells(cellCount).RowSpan = 2
                        Else
                            gviewRow.Cells(cellCount).RowSpan = gviewPreviousRow.Cells(cellCount).RowSpan + 1
                        End If
                        gviewPreviousRow.Cells(cellCount).Visible = False
                    End If
                Next
            Next
    
    
        End Sub

    Ahora para editar o eliminar un registro se tiene el grid de la siguiente manera:

    <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound">
                    <Columns>
    
                        <asp:TemplateField HeaderText="ID">
                            <ItemTemplate>
                                <asp:Label ID="LB1" runat="server" Text='<%# Eval("ID")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="TXTID" runat="server" Text='<%# Eval("ID")%>'></asp:TextBox>
                            </EditItemTemplate>
                        </asp:TemplateField>
    
                        <asp:TemplateField HeaderText="PAIS">
                            <ItemTemplate>
                                <asp:Label ID="LB2" runat="server" Text='<%# Eval("PAIS")%>' Width="100%"></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="TXTPAIS" runat="server" Text='<%# Eval("PAIS")%>'></asp:TextBox>
                            </EditItemTemplate>
                        </asp:TemplateField>
    
                        <asp:TemplateField HeaderText="CIUDAD">
                            <ItemTemplate>
                                <asp:Label ID="LB3" runat="server" Text='<%# Eval("CIUDAD")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="TXTCIUDAD" runat="server" Text='<%# Eval("CIUDAD")%>'></asp:TextBox>
                            </EditItemTemplate>
                        </asp:TemplateField>
    
                        <asp:CommandField ButtonType="Link" ShowEditButton="true" ShowDeleteButton="true" />
    
                    </Columns>
                </asp:GridView>

    De que manera se puede identificar las posiciones de las columnas en este caso ya que se està reemplazando el BoundField por ItemTemplate ?




    Respuesta de foro Microsoft

    martes, 6 de marzo de 2018 3:05

Respuestas

  • hola

    Pero no necesitas cambiar de BoundField  a ItemTemplate para editar las columnas usando textbox, ya que por defecto esto ya lo realiza

    por en edicion la row usando BoundField , veras que logras el mismo efecto

    solo cambiaria a template en aquellas columnas que debes usar otro tipo de control d edicion como ser un combo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 6 de marzo de 2018 18:31