c 自定義分頁控制項

2021-09-30 07:57:12 字數 1781 閱讀 7661

前一陣子輔導實習生做乙個學生管理系統的雛形,發現他們對自定義控制項的理解不是很好,所以今天得閒就把分頁控制項的製作一步步講解出來,也給自己做個鞏固。

一、自定義分頁控制項的外觀(這個很簡單,直接拖拽控制項就可以了)

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 目標軟體充值中心 最近做的乙個專案 目標軟體充值中心 又用上了自己寫的自定義分頁控制項,...