edititemtemplateを使用してListViewの上部に新しいアイテムを追加する方法
-
27-10-2019 - |
質問
ADDボタンを使用して新しいフィールドを追加できるコードが少しあります。ASP:EditItemTemplateを有効にしますが、これによりリストの下部にフィールドが追加され、ユーザーがそこにある場合はスクロールする必要があります。リストビューにはすでに十分なアイテムがあります。リストの上に新しいアイテムを表示するにはどうすればよいですか?
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>
解決
私は解決策を見つけました、あなたは 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
.
他のヒント
このフォーラムの遅い回答のようなものですが、SQLテーブルのIDでリストを注文するために選択コマンドを変更することができます。
例:
SelectCommand = "select * from [bulletin] order by [m_id] desc;"
私はプロジェクトにフォーラムスタイルの速報を作成し、最後の投稿を上に表示したかったのです。それが私がそれをすることになった方法です。もちろん、これはSQLテーブル「ID」が自動増加に設定されていることを前提としています。
所属していません StackOverflow