Pregunta

Tengo un poco de código en el que puede agregar un nuevo campo usando un botón ADD, que habilita el ASP: EditItemTemplate, pero la cosa es que esto agrega el campo en la parte inferior de la lista, haciendo que el usuario tenga que desplazarse hacia abajo si está allí Ya hay suficientes elementos en ListView. ¿Cómo puedo hacer que el nuevo elemento aparezca en la parte superior de la lista?

Código ASP.NET

<asp:ListView ID="[...]" runat="server" DataSource=<% [...] %> >

    <LayoutTemplate>
        [...]
    </LayoutTemplate>

    <ItemTemplate>
        [...]
    </ItemTemplate>

    <EditItemTemplate>
        <tr>
                <td>
                    <asp:LinkButton id="btnUpdate" visible=<%# [...] %> runat="server" CommandName="Update"><%#res.GetString("btnUpdate")%></asp:LinkButton> 
                    <asp:LinkButton id="btnCancel" runat="server" CommandName="Cancel"><%#res.GetString("bntCancel")%></asp:LinkButton>

                </td>
                <td>
                    <asp:HiddenField ID="[...]" runat="server" Value='<%# [...] %>' />
                    <asp:TextBox ID="txtDisplayName" runat="server" Text=<%# Bind("DisplayName") %> Enabled=<%# [...] %> />
                </td>
        </tr>
    </EditItemTemplate>
</asp:ListView>
¿Fue útil?

Solución

He encontrado la solución, tienes que crear un InsertItemTemplate como esto:

<asp:ListView ID="[...]" runat="server" DataSource=<% [...] %> >
    <LayoutTemplate>
        [...]
    </LayoutTemplate>

    <ItemTemplate>
        [...]
    </ItemTemplate>

    <EditItemTemplate>
        [...]
    </EditItemTemplate>

    <InsertItemTemplate>
    <tr>
                    <td>
                        <asp:LinkButton id="btnUpdate" visible=<%# [...] %> runat="server" CommandName="Update"><%#res.GetString("btnUpdate")%></asp:LinkButton> 
                        <asp:LinkButton id="btnCancel" runat="server" CommandName="Cancel"><%#res.GetString("bntCancel")%></asp:LinkButton>

                    </td>
                    <td>
                        <asp:HiddenField ID="[...]" runat="server" Value='<%# [...] %>' />
                        <asp:TextBox ID="txtDisplayName" runat="server" Text=<%# Bind("DisplayName") %> Enabled=<%# [...] %> />
                    </td>
            </tr>
    </InsertItemTemplate>
</asp:ListView>

Entonces tienes que ir a la ventana Propiedades de tu ListView, selecciona el InsertItemPosition a FirstItem.

Otros consejos

Una especie de respuesta tardía para este foro, pero puede cambiar su comando seleccionar para pedir la lista por ID en la tabla SQL.

Ejemplo:

SelectCommand = "Seleccione * Del orden [Boletín] por [M_id] Desc;"

Construí un boletín de estilo foro en mi proyecto y quería que las últimas publicaciones aparecieran en la parte superior. Así es como terminé haciéndolo. Por supuesto, esto supone que su tabla SQL "ID" está configurada para incrementar automáticamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top