صفحه بندی DataGridView
برای صفحه بندی دیتاگرید ابتدا یک برنامه ویندوزی ایجاد کرده و سپس کنترل های BindingNavigator ،DataGridView ،BindingSource را بر روی فرم قرار دهید :
سپس با دوبار کلیک بر روی BindingSource کدهای زیر را جایگزین کدهای موجود در محیط کدنویسی کنید :
using System; using System.Collections.Generic; using System.Windows.Forms; namespace PagingDataGridView { public partial class Form1 : Form { private const int totalRecords = 43; private const int pageSize = 10; public Form1() { InitializeComponent(); dataGridView1.Columns.Add(new DataGridViewTextBoxColumn { DataPropertyName = "Index" }); bindingNavigator1.BindingSource = bindingSource1; bindingSource1.CurrentChanged += new System.EventHandler(bindingSource1_CurrentChanged); bindingSource1.DataSource = new PageOffsetList(); } private void bindingSource1_CurrentChanged(object sender, EventArgs e) { int offset = (int)bindingSource1.Current; var records = new List<Record>(); for (int i = offset; i < offset + pageSize && i < totalRecords; i++) records.Add(new Record { Index = i }); dataGridView1.DataSource = records; } class Record { public int Index { get; set; } } class PageOffsetList : System.ComponentModel.IListSource { public bool ContainsListCollection { get; protected set; } public System.Collections.IList GetList() { var pageOffsets = new List<int>(); for (int offset = 0; offset < totalRecords; offset += pageSize) pageOffsets.Add(offset); return pageOffsets; } } } }
درود خدمت شما جناب آقای مهندس
برای بارگذاری دیتا به حجم بالا باید از چه روشی استفاده کنیم که سریع لود بشه و برنامه هنگ نکنه؟
سلام
کدوم لینک؟
سلام
صفحه بندی شما خوبه ولی مشکل بزرگش بارگذاری کل داده به یکباره می باشد . صفحه بندی باید هر صفحه رو به طور جداگانه از پایگاه داده بخونه . فکرش بکن اگر شما 5000000 داده داشته باشید چه باری روی سیستم داره (نابود میشه)
سلام دوست عزیز امیدوارم که حالتون خوب باشه . بله حرف شما صحیح است و برنامه بالا بیشتر برای داده های با حجم کم کاربرد داره . برای داده های با حجم بزرگ بنده یک کلاس طراحی کردم که این کار رو واستون انجام می ده و در تاپیک زیر بخش پرسش و پاسخ سایت توضیح دادم :
این لینک رو کامل مطالعه کنید ، جواب سوالتون رو میگیرید.
موفق باشید
آقا عالیییییییییییییییییییییییییییی بود
ببخشید استاد در مورد کدا یه توضیحی بدین لطفا .
خیلی ممنون…دست شما درد نکنه آقای مهندس
خواهش می کنم…