Cómo agregar un nuevo elemento en la parte superior de un ListView con EditItemTemplate
-
27-10-2019 - |
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>
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.