首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET ListView 控件學習系列(三):選擇、排序與分頁實作

     編輯:關於ASP.NET

ListView 內建選擇、排序、分頁支援,透過 CommandName 與模板切換實現零程式碼互動,配合 DataPager 完成完整資料瀏覽體驗。

選擇功能實作

ASPX 模板定義

<asp:ListView ID="ListView1" runat="server" OnSelectedIndexChanging="ListView1_SelectedIndexChanging">
  <LayoutTemplate>
    <table><tr runat="server" id="itemPlaceholder" /></table>
  </LayoutTemplate>
  <ItemTemplate>
    <tr>
      <td><%# Eval("ID") %></td>
      <td><asp:Label Text='<%# Eval("Name") %>' runat="server" /></td>
      <td><asp:Label Text='<%# Eval("Age") %>' runat="server" /></td>
      <td><asp:Button CommandName="Select" Text="選擇" runat="server" /></td>
    </tr>
  </ItemTemplate>
  <SelectedItemTemplate>
    <tr style="background-color:Blue">
      <td><%# Eval("ID") %></td>
      <td><asp:Label Text='<%# Eval("Name") %>' runat="server" /></td>
      <td><asp:Label Text='<%# Eval("Age") %>' runat="server" /></td>
      <td><asp:Button CommandName="Select" Text="選擇" runat="server" /></td>
    </tr>
  </SelectedItemTemplate>
</asp:ListView>

後端處理

protected void ListView1_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)
{
    ListView1.SelectedIndex = e.NewSelectedIndex;
    BindData();  // 重新繫結套用 SelectedItemTemplate
}

排序與分頁

ListView 本身不直接支援排序,需搭配 DataPager 分頁,排序通常在資料來源層(LINQ/SQL OrderBy)或自訂 Sorting 事件處理。

DataPager 整合

<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="10">
  <Fields>
    <asp:NextPreviousPagerField FirstPageText="首頁" PreviousPageText="上頁" NextPageText="下頁" LastPageText="末頁" />
    <asp:NumericPagerField ButtonCount="10" />
  </Fields>
</asp:DataPager>

完整頁面結構

<asp:ListView ID="ListView1" runat="server" DataKeyNames="ID">...</asp:ListView>
<br />
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" ... />

關鍵屬性對照

功能關鍵屬性/事件模板
選擇SelectedIndex, SelectedIndexChanging, SelectedDataKeySelectedItemTemplate
編輯EditIndex, ItemEditing, ItemUpdating, ItemCancelingEditItemTemplate
插入InsertItemPosition, ItemInsertingInsertItemTemplate
刪除ItemDeleting, ItemDeleted—
分頁DataPager (外掛控件)—
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved