Как добавить новый элемент в верхней части ListView с помощью EditItemTemplate - PullRequest
1 голос
/ 13 июня 2011

У меня есть немного кода, где вы можете добавить новое поле, используя кнопку добавления, которая включает asp: EditItemTemplate, но дело в том, что это добавляет поле внизу списка, заставляя пользователя прокручиватьвниз, если в ListView уже достаточно элементов.Как сделать так, чтобы новый элемент отображался в верхней части списка?

КОД 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>

Ответы [ 2 ]

2 голосов
/ 14 июня 2011

Я нашел решение, вам нужно создать InsertItemTemplate следующим образом:

<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>

, затем вам нужно перейти в окно свойств вашего ListView, установить InsertItemPosition вFirstItem.

0 голосов
/ 04 июля 2013

Вроде поздний ответ для этого форума, но вы можете изменить команду SELECT, чтобы упорядочить список по идентификатору в таблице SQL.

Пример:

SelectCommand = "SELECT * FROM [Bulletin] ORDER BY [m_id] DESC;"

Я создал бюллетень в стиле форума в своем проекте и хотел, чтобыпоследние сообщения, чтобы появиться наверху.Я так и сделал.Конечно, это предполагает, что для вашей таблицы SQL "ID" установлено автоматическое увеличение.

...