PDA

View Full Version : سوال: هنگ کردن گرید جانوس بعد از فیلتر کردن



sadaf_
جمعه 05 اسفند 1390, 12:17 عصر
گرید من 65317 رکورد داره وقتی از فیلتر خود گرید استفاده می کنیم
گرید هنگ می کنه و 3 دقیقه طول می کشه تا فیلتر رو انجام بده
خواهشا کمکم کنید
ممنون

zarrinnegar
جمعه 05 اسفند 1390, 19:10 عصر
شما چرا این تعداد رو دارید لود میکنید؟
من توی آموزش هام هم گفته بودم که ابزار هایی مثل جانوس با دیتا ها بصورت آفلاین کار میکنن نه تنها جانوس بلکه همه ابزار ها همین طورند ولی توی جانوس ، چون فیلتر روی دیتای لود شده انجام میشه طول میکشه

شما روشتون رو عوض کنید
هیچ کس نمیاد 65000 رکورد رو یکجا ببینه
از Paging استفاده کن
فیلتر جانوس رو بزار کنار و از فیلتر دستی استفاده کن مثلا از ورودی مقدار رو بگیر و بعد با sql فیلتر کن و بعد دیتای مورد نظر رو لود کن و نمایش بده

ابزار های جانوس (فیلتر)برای اطلاعات حدود 8000 رکورد خوب جواب میده و برای این اطلاعات بالای 10000 رکورد مناسب نیست مگر با ترفند Paging که در باره این موضوع هم توضیح دادم اگر توی قسمت جستجوی پیشرفته همین سایت بگردید پیدا میکنید
سورسش رو هم گذاشتم

sadaf_
جمعه 05 اسفند 1390, 19:24 عصر
پیدا نکردم
خواهشا بیشتر راهنمایی کنید
Paging چه کاری انجام می ده
ممنون

zarrinnegar
جمعه 05 اسفند 1390, 19:37 عصر
پیدا نکردم
خواهشا بیشتر راهنمایی کنید
Paging چه کاری انجام می ده
ممنون

صفحه بندی یعنی اینکه شما اطلاعات رو مثلا 1000 تایی لود کنی و کاربر با زدن دکمه صفحه بعدی ، 1000 تای بعدی رو ببینه و الی آخر مثل جستجو توی گوگل که تعدادی رو نشون میده و صفحه هاش زیر هست روش کلیک میکنی و میره توی اون صفحه

و اما کد نویسی اون توی sql انجام میشه و توی #C صدازده میشه
و توی این سایت (http://barnamenevis.org/showthread.php?292246-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF-%D8%B2%DB%8C%D8%A7%D8%AF-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF&highlight=%D8%B5%D9%81%D8%AD%D9%87+%D8%A8%D9%86%D8 %AF%DB%8C) توضیح دادم

sadaf_
شنبه 06 اسفند 1390, 09:51 صبح
create PROCEDURE [dbo].[sp_PagedItem]
(
@Page int,

@RecsPerPage int
)
AS
CREATE
TABLE #TempItems

(



ID intIDENTITY,

,
,
,
)
INSERT
INTO #TempItems
(,


,


)

SELECT,,FROM myTable

DECLARE
FirstRec int, @LastRec int

SELECT
@FirstRec =(@Page - 1)* @RecsPerPage

SELECT
@LastRec =(@Page * @RecsPerPage + 1)

SELECT
*,

MoreRecords
=
(


SELECTCOUNT(*)

FROM #TempItems TI

WHERE TI.ID >= @LastRec

)

FROM
#TempItems

WHERE
ID > @FirstRec AND ID < @LastRec




می شه بگین که متغیر @RecsPerpage چه مقداری رو می گیره ؟

zarrinnegar
شنبه 06 اسفند 1390, 13:32 عصر
این پروسیجر 2 عدد بصورت پارامتر میگیره
اولی اینه که صفحه چند رو میخوای
دوی این که چند تایی میخوای ، یعنی تعداد رکورد هات چند تا باشه مخفف Records per page هست