前一陣子輔導實習生做乙個學生管理系統的雛形,發現他們對自定義控制項的理解不是很好,所以今天得閒就把分頁控制項的製作一步步講解出來,也給自己做個鞏固。
一、自定義分頁控制項的外觀(這個很簡單,直接拖拽控制項就可以了)
linkbutton 控制項要有onclick事件
dropdown控制項要有onselectedindexchanged事件,且autopostback為true
二、定義事件和委託
public delegate void onpageindexchangeddelegate(int pageindex);
[description("頁面跳轉事件")]
[browsable(true)]
public event onpageindexchangeddelegate onpageindexchanged = delegate ;
三、定義相關屬性
//頁碼
public int pagesize
return (int)viewstate["pagesize"];
}set
}//記錄數
public int recordcount
return (int)viewstate["recordcount"];
}set
}//頁數
public int pagecount
}//當前頁
public int currentpageindex
return (int)viewstate["currentpageindex"];
}set
}四、相關方法
1、在自定義控制項的page_load事件中初始化控制項的值
2、定義public方法bind()
如果recordcount為0的時候,四個linkbutton按鈕全部不可以用。
如果pagecount小於1的時候,四個linkbutton按鈕全部不可以用
3、四個linkbutton的onclick事件
首頁:當前頁碼為1,呼叫onpageindexchanged
末頁:當前頁面為pagecount,onpageindexchanged
五、如何使用
1、直接把自己定義的分頁控制項拖拽到頁面中
2、在頁面的pageload中要定義分頁控制項的onpageindexchanged事件。如:
this.pager1.onpageindexchanged += new pager.onpageindexchangeddelegate(pager1_onpageindexchanged);
3、在pager1_onpageindexchanged(int pageindex)的方法中呼叫gridview的繫結,並且把pageindex和pagesize傳過去。
4、至於分頁的sql語句,或者分頁的儲存過程需要自己另寫。
六、擴充套件功能
其實這些都很簡單,你只要在分頁控制項中新增一些屬性就可以了
如:改變控制項上文字的內容,你可以定義乙個屬性叫firstpagetext,用於對首頁的按鈕文字進行設定,其餘的依次類推
public string firstpagetext
set
}如:在文字框中輸入頁碼,跳轉到相應的頁面。在textbox的textchanged事件中對currentpageindex賦值,然後呼叫onpageindexchanged。
注:差點忘了一點了,分頁控制項要繼續自usercontrol哦
七:總結
其實自定義控制項很強大,我們要善於用自己的大腦和微軟提供的開發框架。讓程式在自己的手裡變魔術~
C 自定義分頁控制項3 0
c 自定義分頁控制項3.0 最近做的乙個專案,又用上了自己寫的自定義分頁控制項,發現不夠完善,使用起來不是很方便,於是進行了公升級,這已經是第二次公升級了,公升級估計還會繼續,為什麼是估計呢?1 不知道有沒有朋友用,也沒有人提出要我改進 2 我想做c 啊 如果有機會的話,就開始寫c 了,c 將會寫得...
C 自定義分頁控制項3 0
c 自定義分頁控制項3.0 最近做的乙個專案,又用上了自己寫的自定義分頁控制項,發現不夠完善,使用起來不是很方便,於是進行了公升級,這已經是第二次公升級了,公升級估計還會繼續,為什麼是估計呢?1 不知道有沒有朋友用,也沒有人提出要我改進 2 我想做c 啊,如果有機會的話,就開始寫c 了,c 將會寫得...
C 自定義分頁控制項3 0
c 自定義分頁控制項3.0 c 自定義分頁控制項不知不覺也到了3.0,說明問題還是有一些,開始的時候考慮得不夠周到,第一版出來的時候,感覺還行,等自己再次看 的時候,發現還是有待改進。c 自定義分頁控制項3.0 目標軟體充值中心 最近做的乙個專案 目標軟體充值中心 又用上了自己寫的自定義分頁控制項,...