ListView → 控制項可選取、排序、刪除、編輯和插入資料錄。是定義的樣板顯示資料來源的值。主要定義以下兩項屬性:
| LayoutTemplate | 顯示格式 |
| ItemTemplate | 資料連結 |
<asp:ListView runat="server" ID="ProductListView"
ItemType="ProductForWebForm.Models.ProductModel"
DataSourceID="ProductObjectDataSource"
OnDataBound="ProductListView_DataBound">
<LayoutTemplate>
<table runat="server" class="table">
<tr runat="server">
<th runat="server" class="tableheader">產品名稱</th>
<th runat="server" class="tableheader">照片</th>
<th runat="server" class="tableheader">單價</th>
<th runat="server" class="tableheader">數量</th>
<th></th>
</tr>
<tr id="itemPlaceholder"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%#:Item.ProdName%></td>
<td>
<img style="max-width: 50px; max-height: 50px" src="<%#:Item.ImagePath%>" />
</td>
<td><%#:Item.Price%></td>
<td><%#:Item.Count%></td>
<td>
<input type="button" class="btn btn-default" value="編輯" onclick="btnDelete(<%#:Item.ID%>);" />
<input type="button" class="btn btn-danger" value="刪除" onclick="btnDelete(<%#:Item.ID%>);" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:DataPager ID="ProductDataPager" runat="server"
PageSize="3" PagedControlID="ProductListView" QueryStringField="page">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button"
ShowFirstPageButton="True"
ShowNextPageButton="False"
ShowPreviousPageButton="False"
ButtonCssClass="btn btn-info" />
<asp:NumericPagerField ButtonCount="10"
NumericButtonCssClass="btn btn-default"
NextPreviousButtonCssClass="btn btn-primary"
CurrentPageLabelCssClass="btn btn-primary" />
<asp:NextPreviousPagerField ButtonType="Button"
ShowLastPageButton="True"
ShowNextPageButton="False"
ShowPreviousPageButton="False"
ButtonCssClass="btn btn-info" />
</Fields>
</asp:DataPager>
<asp:ObjectDataSource ID="ProductObjectDataSource" runat="server"
TypeName="ProductForWebForm.Product"
EnablePaging="True"
StartRowIndexParameterName="rowIndex"
MaximumRowsParameterName="pageSize"
SelectMethod="GetProducts"
SelectCountMethod="GetProductRowCount">
</asp:ObjectDataSource>
*此範例採取DataSourceID="資料控制項ID"去繫結ObjectDataSource資料控制項物件。(或可以使用DataSource="XXX"去繫結資料集合)
*資料顯示位置,需要在"LayoutTemplate"結構裡設置 id="itemPlaceholder"
<tr id="itemPlaceholder"></tr>DataPager → 定義分頁。設置第一頁、最後一頁等等,某某某cssClass可設置css樣本。
*沒放置在ListView結構裡面,需設置 PagedControlID="ListViewID名稱"
ObjectDataSource → 資料繫結控制項。
| TypeName | 設置類別名稱(反射機制) |
| StartRowIndexParameterName MaximumRowsParameterName |
在Class的方法參數,名稱與參數需要一致 |
| SelectMethod | 擷取資料之方法或函式的名稱 |
public IQueryableGetProducts(int rowIndex,int pageSize) { int CurrentPageRowCount = ((rowIndex + 1) * pageSize); var result = (from k in (from s in this._DBContent.Product orderby s.ID ascending select s).Take(CurrentPageRowCount) orderby k.ID descending select k).Take(pageSize); return result; } public int GetProductRowCount() { return this._DBContent.Product.Count(); }

沒有留言:
張貼留言