نمایش تعداد مشخصی از رکوردها در گرید ویو
با سلام فرض کنید ما 1000 رکورد در جدول خودمون داریم و می خواهیم اینا رو به صورت 10 تایی نوشون بدیم یعنی در هر صفحه گرید ویو 10 خبر باشه البته در چندین تاپیککی که من جستجو کردم اشاره شده بود در استفاده از پیجینگ خود گرید ویو همه رکوردها فراخوانی میشه و این سرعت کار رو پائین میاره من می خوام همون 10 تا خونده بشه و وقتی کاربر روی عدد 2 کلیک می کنه 10 تا رکورد بعدی خونده بشه
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
با سلام
معلوم خوب سرچ نکردید.
خود گرید pagin داره
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
من می دونم پیجینگ داره بحث اینجاست که آیا دیتا گرید همه رکوردها رو فرا می خونه ؟
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
خوب شما هم دارید میگید
10 اول نمایش میده .
ولی فکر نکن فشاری بیاد به سرور چون select top 10 داره
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
نقل قول:
ولی فکر نکن فشاری بیاد به سرور چون select top 10 داره
در گرید هر بار شما تمام اطلاعات فراخوانی میکنید و گرید با توجه به صفحه ای که درخواست کردی ،تعداد رکورد مدنظر شما نمایش میده برای اینکار اگر اشتباه نکنم آقای دیندار تاپیکی ایجاد کرده بودند و یه شیوه بهتر ارائه داده بودند بگردید پیدا میکنید...!
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
من که جستجو کردم آقای دینداری پیدا نکردم حالا راه ساده ای نیست که ما فقط 10 رکورد رو دریافت کنیم و با کلیک روی شماره صفحه بعد 10 رکورد بعدی رو
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
در جواب پست اخر شما.
مگه گرید ویو خودش page size نداره می توانید از آن استفاده کنید.
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
با استفاده از sp میتونید اینکار انجام بدید ...!
لینک تاپیک آقای دیندار
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
پس به این نتیجه می رسیم که gridview فقط به صورت مجازی رکوردها رو صفحه بندی میکنه و در لود اولیه تمام رکوردها خونده میشه.
حالا یک سوال من یه گریدویو دارم که در خاصیت rowdatabind اون یک شرط رو چک می کنم.می خوام بدونم این تاثیری در سرعت لود شدن اطلاعاتم داره؟
آیا با صفحه بندی در سمت سرور می تونم سرعت رو بالاتر ببرم؟
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
نقل قول:
حالا یک سوال من یه گریدویو دارم که در خاصیت rowdatabind اون یک شرط رو چک می کنم.می خوام بدونم این تاثیری در سرعت لود شدن اطلاعاتم داره؟
بله چون روی هر رکورد این شرط بررسی میشه و در تعداد رکورد های بالا محسوس میشه...!
نقل قول:
آیا با صفحه بندی در سمت سرور می تونم سرعت رو بالاتر ببرم؟
به نظرم اگر سمت بانک انجام بشه بهتر است...!
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
با تشکر در لینکی که داده بودین لینک دانلود برنامه خراب بود
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
اول اینکه شکل دستور گرفتن رکوردهای n ام تا m ام در Sql Server به این صورت است :
فرض کنید Tableی داریم به اسم tblUser و میخواهیم رکوردهای 11 تا 20 اون شامل فیلدهای idUser و UserName را بگیریم:
WITH temp AS
(select ROW_NUMBER() OVER (ORDER BY idUser) AS RowNumber, idUser, UserName from tblUser)
SELECT * FROM temp WHERE RowNumber BETWEEN 11 AND 20
دوم اینکه وقتی با این روش گرید را بایند میکنید، باید صفحه بندی گرید را خودتان مشخص کنید. چون وقتی گرید را با 10 رکورد بایند میکنید، گرید نمیداند که کل اطلاعات چند صفحه است و این 10 تا رکورد مال صفحه چندم است.
برای اینکار روشهای مختلفی هست.
یک روش ساده که این دردسرها را ندارد، اینجا توضیح داده شده :
http://msdn.microsoft.com/en-us/library/aa479347.aspx
نقل قول: نمایش تعداد مشخصی از رکوردها در گرید ویو
دوست عزیز یه راه خیلی ساده که بنظرم میرسه و شاید خواسته شما رو برآورده کنه استفاده از QueryString است فرض کنید که میخواهید اطلاعات Product از دیتابیس Northwind رو در یه گرید نمایش بدید آونم به صورتی که هر بار این گرید 10 تا از رکوردها رو نمایش بده و از Enity FrameWork هم استفاده کردیم ( که اصلا مهم نیست و شما میتونید از هر تکنیک دیگه ایی استفاده کنید ) من تو رویداد لود Page مینویسم:
protected void Page_Load(object sender, EventArgs e)
{
NorthwindEntities db = new NorthwindEntities();
int rowNumber = Convert.ToInt32(Request.QueryString["Row"]);
var query = from p in db.Products
where p.CategoryID>2
orderby p.ProductName
select p;
grdNorth.DataSource = query.Skip(rowNumber).Take(10);
DataBind();
}
امیدوارم منظورتون رو برآورده کرده باشه اگه نه در تماس باشید در خدمتم