GridView 自訂分頁
http://dotnetmis91.blogspot.com/2008/08/gridview_20.html
本文為參考坎尼大大的文章 做成的快速製作版 如果趕時間可以馬上完成的步驟紀錄
1. 自訂Pager Templete, 將相關物件拉進Pager 或直接貼程式碼: 注意程式碼的部分已經將Click的程序名稱掛上去 若 是自己用啦的請注意程序名稱,文字部分可自行換成圖片 直接加在</Columns> 或 <AlternatingRowStyle> 下,在</asp:GridView>內。
<PagerTemplate>
<asp:Label ID="Label1" runat="server" ></asp:Label>
<asp:LinkButton ID="lbtnfirst" runat="server" CommandArgument="first" OnClick="Query_Click" >First</asp:LinkButton>
<asp:LinkButton ID="lbtnPrevious" runat="server" CommandArgument="previous" OnClick="Query_Click" >Previous</asp:LinkButton>
<asp:LinkButton ID="lbtnnext" runat="server" CommandArgument="next" OnClick="Query_Click" >Next</asp:LinkButton>
<asp:LinkButton ID="lbtnlast" runat="server" CommandArgument="last" OnClick="Query_Click">Last</asp:LinkButton>
<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True">
</asp:DropDownList>
<asp:Label ID="Label2" runat="server" ></asp:Label>
2. 貼入相關C#程序,若需要相關說明請參考坎尼大大的文章:
protected void Query_Click(object sender, EventArgs e) {
int intPageIndex = 0;
LinkButton lkbtn = (LinkButton)sender;
switch (lkbtn.CommandArgument.ToString()) {
case "previous":
if (GridView1.PageIndex > 0) {
intPageIndex = GridView1.PageIndex - 1;
} break;
case "next":
if (GridView1.PageIndex < GridView1.PageCount - 1) {
intPageIndex = GridView1.PageIndex + 1;
} break;
case "last":
intPageIndex = GridView1.PageCount - 1;
break;
}
GridView1.PageIndex = intPageIndex;
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddlPage = ((DropDownList)GridView1.BottomPagerRow.FindControl("DropDownList1"));
GridView1.PageIndex = ddlPage.SelectedIndex;
}
protected void GridView1_DataBound(object sender, EventArgs e)
{
pageSet(GridView1);
}
public void pageSet(object gvQuery) {
GridView gv = (GridView)gvQuery;
Label lbCount = (Label)gv.BottomPagerRow.FindControl("Label1");
Label lbPage = (Label)gv.BottomPagerRow.FindControl("Label2");
DropDownList ddlJump = (DropDownList)gv.BottomPagerRow.FindControl("DropDownList1");
lbCount.Text = "共 " + (gv.PageSize * gv.PageCount).ToString() + " 筆"; // 要精準的部份需另外判斷!
lbPage.Text = "共 " + gv.PageCount + " 頁";
for (int i = 1; i <= gv.PageCount; i++) {
ddlJump.Items.Add(new ListItem(i.ToString()));
if (gv.PageIndex == 0) {
((LinkButton)gv.BottomPagerRow.FindControl("lbtnfirst")).Enabled = false;
((LinkButton)gv.BottomPagerRow.FindControl("lbtnPrevious")).Enabled = false;
}
else if (gv.PageIndex == (gv.PageCount - 1)) {
((LinkButton)gv.BottomPagerRow.FindControl("lbtnnext")).Enabled = false;
((LinkButton)gv.BottomPagerRow.FindControl("lbtnlast")).Enabled = false;
}
ddlJump.SelectedIndex = gv.PageIndex;
}
}
3. 設定GridView 相關屬性或直接加上程式碼部分加上觸發事件部份
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
CellPadding="4" DataKeyNames="id" DataSourceID="SqlDataSource1" ForeColor="#333333"
OnDataBound="GridView1_DataBound">
目前分類:Program (12)
- Aug 23 Mon 2010 18:00
[.NET] GridView 自訂分頁 SOP 快速步驟
- Aug 16 Mon 2010 15:36
[AJAX]開啟Div移動 iframe 應用
- Aug 09 Mon 2010 10:52
[.NET]錯誤訊息 DataBinding: 'System.Data.DataRowView'
錯誤訊息 : DataBinding: 'System.Data.DataRowView' 沒有包含名為 'id' 的屬性。
今天一大早要建一個簡單的資料庫連結+TSQL自訂撈資料,很順手的用VWD的精靈就把資料庫繫結好了外加GridView也綁定
- Aug 06 Fri 2010 14:04
[.NET]使用CKeditor in ASP.NET For C#
由於之前開發PHP很多OPEN SOURCE都有提供且很多熱心的神人都會在網路上PO文這篇文章純粹是紀錄因為工作上需要使用.NET 來做HTMLEditor
由於採用.dll舊的作法 FF和CH會不正常 所以花了一個早上整理這篇文章做個紀錄:
CKeditor in ASP.NET
1. 至官方下載 http://ckeditor.com/download
2. 解開壓鎖檔後刪除不必要的檔案 _samples _source 目錄以減少檔案容量。
3. 複製該目錄至您的.NET專案底下
4. 在<head></head>中間引入Ckeditor 的JS 核心 :
- Aug 03 Tue 2010 10:44
[.NET]IIS 安裝BUG
- Jan 18 Mon 2010 14:37
[PHP]Rewrite
- Jan 12 Tue 2010 17:33
[分享].htaccess 線上 簡易製作
設定一下即生成.htaccess 大部分的功能屬於陽春且 比較常用的
http://www.htaccesseditor.com/tc.shtml
- Aug 21 Thu 2008 14:53
[程式]W3C School
- Aug 17 Sun 2008 17:03
[程式]AutoGuarder : Solve some problem of USB virus
Q:電腦防毒軟體偵測出有蠕蟲病毒,USB病毒,使用防毒軟體刪除該病毒之後卻無法正常開啟C,D槽.
或者開啟時會詢問該使用什麼程式開啟.
- Jun 02 Mon 2008 17:12
[程式]都是無障礙的陰謀!?
- Feb 26 Tue 2008 11:18
安裝Zend Optimizer For Apache.( II )
在這裡,小弟所寫的手動安裝版是因為我在裝ZO的時候遇到少數電腦怎麼灌都灌不起來的問題。
不知道是Windows還是Apache出了問題。
- Feb 22 Fri 2008 17:41
安裝Zend Optimizer For Apache.( I )
最近在接CASE的過程中,發現有一些老闆想做類似商城的網站,卻又只肯拿出1~2萬元 囧” 在他的預算有限,而我又死要賺錢的情況下。
我就決定幫這些人找一個簡單又能雙贏的辦法;那就是我利用80/20法則的真諦,我決定用我最擅長的PHP 和 OpenSource套件去完成他們的計畫。