PDA

View Full Version : آموزش: پیج کردن اطلاعات بانک



Mohammad_dn
یک شنبه 01 دی 1392, 17:28 عصر
سلام...

یه کامپوننت برای پیج کردن اطلاعات بانک ساختم(برای سایت خودم)گفتم شاید به درد دوستان بخوره....

این پیجینگ هم بهینه تر از پیجینگ خود گرید هست
و هم قشنگ تر

اگه دوستان خواستند بگن همینجا آموزش ساختشم بزارم...:لبخندساده:


فایل جدید ضمیمه شد

سورس dll ضمیمه شد

mohammad kafiyan
یک شنبه 01 دی 1392, 23:38 عصر
چگونه عملیات صفحه بندی را انجام می دهید در خود sql و به صورت بهینه شده و چگونه نمایش می دهید << < 1,2,3,...> >>
Template به صورت بالاست که نوشتم
آیا به صورت ajax کار می کنه یا نه
منتظریم !!!

fakhravari
یک شنبه 01 دی 1392, 23:50 عصر
این کامپوننت قبلا توسط یکی دیگه از بچه ها ارائه شده بود. :چشمک:

Mohammad_dn
دوشنبه 02 دی 1392, 00:00 صبح
این کامپوننت قبلا توسط یکی دیگه از بچه ها ارائه شده بود. این کامپوننت رو دوباره از بیس نوشتم...:چشمک:


چگونه عملیات صفحه بندی را انجام می دهید در خود sql و به صورت بهینه شده و چگونه نمایش می دهید << < 1,2,3,...> >>منظورم از بهینه اینه که کل اطلاعات رو از بانک واکشی نمیکنیم بعد فقط 10 تارو نشون بدیم.. بلکه فقط 10 رکوردی رو که احتیاج داریم واکشی میکنیم و نمایش میدیم

برای صفحه بندی هم (1,2,3,4...) ابتدا تعداد کل رکورد هارو به دست میاریم بعد تقسیم بر تعداد رکوری که قراره واکشی بشه میکنیم...با این کار تعداد صفحه ها به دست میاد..و میتونیم به اینصورت نمایش بدیم

fakhravari
دوشنبه 02 دی 1392, 00:03 صبح
سمپل کامل بزار .مشکل داره.

Mohammad_dn
دوشنبه 02 دی 1392, 00:10 صبح
چه مشکلی داره؟

Mohammad_dn
دوشنبه 02 دی 1392, 00:11 صبح
من الآن تست کردم مشکلی نداره

fakhravari
دوشنبه 02 دی 1392, 00:15 صبح
عزیز دل برادر همراه با همه موارد بزارید . هر کر بازش میکنه معلوم نیست جای اون متغیرا چی بزاره!

Mohammad_dn
دوشنبه 02 دی 1392, 00:25 صبح
عزیز دل برادر همراه با همه موارد بزارید
مظورتون چیه؟همه رو گذاشتم دیگه....dll+نمونه سورس

اما در مورد متغیر ها(حق با شماست):

pg.TopView = 10;
این متغیر برای اینه که تایین کنیم توی هر صفحه چند رکورد نمایش داده بشه

gvData.DataSource = pg.GetData(int.Parse(strQ), "AdminPost", "Title,Date,Time,SendBy");

GetData شامل سه پارامتر هست که به ترتیب:صفحه ی مورد نظر برای واکشی اطلاعات... نام تیبلی که میخواید اطلاعات ازش بگیریت....وفیلد هایی که نیاز دارید واکشی بشه.....

litPage.Text = pg.GetDataPaging("AdminPost", int.Parse(strQ), Request.QueryString.ToString());

بازم به ترتیب:نام تیبل...صفحه و کوئری استرینگ های صفحه..

فکر میکنم دیگه همه ی متغیر ها رو توضیح داده باشم....چیزی که نداره..یه dll فقط باید مقدار دهی کنید که گفتم چطور اینکارو انجام بدید

fakhravari
دوشنبه 02 دی 1392, 12:55 عصر
string strCmd = "SELECT TOP(" + this.TopView.ToString() + ") " + strFild + " FROM (SELECT * , ROW_NUMBER() OVER(ORDER BY ID DESC) as RowNum FROM " + strTableName + ") as DerivedTableName WHERE RowNum >= @PageIndex";
همه جداول نام ID نیست . و باعث خطا میشه

Mohammad_dn
دوشنبه 02 دی 1392, 14:26 عصر
همه جداول نام ID نیست
ببخشید متوجه نشدم...اینی که گفتید یعنی چی؟

fakhravari
دوشنبه 02 دی 1392, 15:33 عصر
خطای
The IListSource does not contain any data sources.
یا در اول نمایش یا بعد next page

Mohammad_dn
دوشنبه 02 دی 1392, 16:18 عصر
دوست عزیز آقای فخرافری..من دوباره چک کردم...مشکلی نداشت...خطایی که شما میگید مربوط به کد زیره:
gvData.DataSource = pg.GetData(int.Parse(strQ), "AdminPost", "mm");

اگه فیلد mm در تیبل AdminPost وجود نداشته باشه...اونوقت چنین اروری میده....

موفق باشید

Mohammad_dn
دوشنبه 02 دی 1392, 16:41 عصر
فایل جدید ضمیمه شد

برای این که دوستان به مشکل بر نخورند نمونه سورس رو ویرایش کردم...دلیل این خطا اینه که یا:

اگه فیلد mm در تیبل AdminPost وجود نداشته باشه...اونوقت چنین اروری میده....و یا این که تیبل بدون رکورد است......

در نمونه سورس جدید اگه تیبل هم خالی باشه یا فیلد مورد نظر یافت نشه دیگه خطا نمیده

fakhravari
چهارشنبه 04 دی 1392, 00:04 صبح
عزیز جون برای مرتب سازی تابع ROW_NUMBER یک فیلد میگیره.
که همه جداول ID که نیست.
پس ID از ورودی بگیر

Mohammad_dn
چهارشنبه 04 دی 1392, 00:17 صبح
چشم حتما این کارو میکنم..

mohammad kafiyan
چهارشنبه 04 دی 1392, 10:20 صبح
برادر گل اگر امکان داره خود سورس را قرار دهید تا ببینم چگونه عملیات صفحه بندی را انجام داده اید
در پست 9 روش کار گفتید ولی خود سورس dll را اگر امکان بگذارید

Mohammad_dn
چهارشنبه 04 دی 1392, 13:53 عصر
سورس هم ضمیمه شد دوست عزیز

موفق ، پیروز و سربلند باشید