要使用BindingNavigator實現簡單的分頁功能,可以按照以下步驟進行操作:
在窗體上添加一個DataGridView控件和一個BindingNavigator控件。
在窗體的Load事件中,使用數據源填充DataGridView控件,并將BindingNavigator控件的BindingSource屬性設置為DataGridView控件的數據源。
設置DataGridView控件的屬性,包括AllowUserToAddRows、AllowUserToDeleteRows和SelectionMode等。
設置BindingNavigator控件的屬性,包括AddNewItem、DeleteItem和CountItem等。
在BindingNavigator控件的Events中,添加點擊“上一頁”和“下一頁”按鈕的事件處理程序。
在事件處理程序中,修改BindingSource控件的position屬性,實現數據的翻頁。
以下是一個簡單的示例代碼:
public partial class Form1 : Form{private BindingSource bindingSource = new BindingSource();private int pageSize = 10; // 每頁顯示的記錄數private int currentPage = 1; // 當前頁碼public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){// 使用數據源填充DataGridView控件// 可以使用自己的數據源替換下面的示例數據List<Person> persons = GetPersons();bindingSource.DataSource = persons;dataGridView1.DataSource = bindingSource;// 設置DataGridView控件的屬性dataGridView1.AllowUserToAddRows = false;dataGridView1.AllowUserToDeleteRows = false;dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;// 設置BindingNavigator控件的屬性bindingnavigator1.BindingSource = bindingSource;bindingNavigator1.AddNewItem.Enabled = false;bindingNavigator1.DeleteItem.Enabled = false;// 設置分頁信息int pageCount = (int)Math.Ceiling(persons.Count / (double)pageSize);bindingNavigator1.CountItem.Text = "共 " + pageCount + " 頁";bindingNavigator1.MoveFirstItem.Click += new EventHandler(MoveFirstItem_Click);bindingNavigator1.MovePreviousItem.Click += new EventHandler(MovePreviousItem_Click);bindingNavigator1.MoveNextItem.Click += new EventHandler(MoveNextItem_Click);bindingNavigator1.MoveLastItem.Click += new EventHandler(MoveLastItem_Click);}private void MoveFirstItem_Click(object sender, EventArgs e){currentPage = 1;bindingSource.Position = 0;}private void MovePreviousItem_Click(object sender, EventArgs e){if (currentPage > 1){currentPage--;bindingSource.Position -= pageSize;}}private void MoveNextItem_Click(object sender, EventArgs e){int pageCount = (int)Math.Ceiling(bindingSource.Count / (double)pageSize);if (currentPage < pageCount){currentPage++;bindingSource.Position += pageSize;}}private void MoveLastItem_Click(object sender, EventArgs e){int pageCount = (int)Math.Ceiling(bindingSource.Count / (double)pageSize);currentPage = pageCount;bindingSource.Position = (currentPage - 1) * pageSize;}private List<Person> GetPersons(){// 示例數據List<Person> persons = new List<Person>();for (int i = 1; i <= 100; i++){persons.Add(new Person { Id = i, Name = "Person " + i });}return persons;}}public class Person{public int Id { get; set; }public string Name { get; set; }}
在這個示例中,我們使用一個包含100個Person對象的List作為數據源,每頁顯示10條記錄??梢愿鶕约旱男枨笮薷膒ageSize和數據源。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
visa卡號安全碼是什么?信用卡安全碼的作用以及使用范圍...VISA卡的安全代碼稱為CVV2,打印在信用卡背面簽名欄中卡號后的4位數字上,它有3位數字。信用卡安全碼是信用卡在進行網絡或電話交易時的安全碼。它通常是打印在信用卡上的3或4位數。不同類型的卡有不同的印刷位置。它通常用于證明付款人在交易時擁有信用卡,以防止信用卡欺詐。生成這組數字后,只有發行銀行和銀行卡的持有者知道這些數字是什么。信用卡...
德馬克指標是什么意思?托馬斯德馬克(德馬克)是道明系列指標的創始人。TD指標之間約有70種,其中一個應用最廣泛的是TD序列和TD組合。TD序列由價格反轉、TD結構、TD計數三部分組成。TD組合和TD序列基本類似,只是計數部分有些區別。相對來說,TD組合的計數條件有一定的差異。相對來說,TD組合的計數條件更為嚴格。TD趨勢線有兩種:一種是TD買入結構的TD趨勢阻力線;一種是TD賣出結構的TD趨勢支撐...
少林寺上市了沒有?不是“少林寺還不是上市公司。少林寺能否上市需要看它的歷史沿革、法律、財務等方面的問題,不過大體判斷,上市的障礙應該比較小,因為現在有了科創板,尺度進一步放寬,未來如果上交所和深交所采用注冊制,上市的可能性就大了。”少林寺門票多少錢?少林寺門票為80元/人。自2018年9月20日起,《河南省降低國有景區門票價格實施方案》正式執行。河南省發改委宣布降低4家省管...