PDA

View Full Version : سوال درباره repeater



jingiliboyz
چهارشنبه 29 اردیبهشت 1389, 13:28 عصر
با سلام خدمت دوستان برنامه نویس
دوستان با استفاده از repeater و اتصال اون به دیتابیس و استفاده از کد marque یک خبر متحرک برای سایت طراحی کردم وحالا یه سوال دارم میخوام توی repeater چهار خبر آخر رو که مدیر سایت وارد میکنه نشون بدم گزینه ای ندیدم که بشه این کار رو کرد مثلا در گرید با استفاده از page size میشه این کار رو کرد ولی تو repeater هم میشه این کارو انجام داد؟
و اگر میشه چطور؟

Vahid_moghaddam
چهارشنبه 29 اردیبهشت 1389, 16:14 عصر
paging برای repeater امکان پذیره و باید از paged datasource استفاده کنید. در تاپیک زیر این کار برای datalist انجام شده اما روش استفاده یکیه

http://barnamenevis.org/forum/showthread.php?t=125079

وقتی فقط قراره چهار خبر آخر نمایش داده بشه، فقط چهار خبر آخر رو از دیتابیس بخونید. ساده ترین روش هم (با توجه به اینکه احتمالا شما فیلدی دارید که می تونید اخبار رو به ترتیب جدیدتر بودن sort کنید) استفاده از Select Top n است.

jingiliboyz
شنبه 01 خرداد 1389, 08:30 صبح
paging برای repeater امکان پذیره و باید از paged datasource استفاده کنید. در تاپیک زیر این کار برای datalist انجام شده اما روش استفاده یکیه

http://barnamenevis.org/forum/showthread.php?t=125079

وقتی فقط قراره چهار خبر آخر نمایش داده بشه، فقط چهار خبر آخر رو از دیتابیس بخونید. ساده ترین روش هم (با توجه به اینکه احتمالا شما فیلدی دارید که می تونید اخبار رو به ترتیب جدیدتر بودن sort کنید) استفاده از Select Top n است.

دوست عزیز من تاپکی که معرفی کردی رو خوندم و خبر رو با repeater به همون صورتی که در تاپیک گفته شده بود درست کردم ولی یه مشکل دارم که الان repeater صفحه می خوره ولی به صورت دستی من می خوام بدونم چطور وقتی صفحه load میشه می تونم به صفحه آخر که همون آخرین اخبار در اون قرار داده برم یعنی بجای اینکه دستی این کار رو بکنم اتوماتیک صفحه آخر نشون داده بشه بعد اینکه با توجه به اینکه گفتید ( احتمالا شما فیلدی دارید که می تونید اخبار رو به ترتیب جدیدتر بودن sort کنید) استفاده از Select Top n است چطور به این select top n دسترسی پیدا کنم ؟

General-Xenon
شنبه 01 خرداد 1389, 10:42 صبح
SELECT TOP 4 * FROM TB ORDER BY ID DESC
:چشمک:

jingiliboyz
یک شنبه 02 خرداد 1389, 10:52 صبح
SELECT TOP 4 * FROM TB ORDER BY ID DESC
:چشمک:


با سلام مرسی از راهنمایی شما ولی من دقیقا نمیدونم این تیکه کد شما رو کجا باید قرار بدم اگر امکان داره راهنمایی کنید من سورس رو ضمیمه می کنم اگر امکان داره مکانش رو بهم بگید

Vahid_moghaddam
یک شنبه 02 خرداد 1389, 11:51 صبح
paged datasource خاصیتی داره به نام PageCount . یعنی اگه شما 20 تا خبر داشته باشید و page size برابر 4 باشه، این خاصیت برابر 5 می شه. می تونید به شکل زیر استفاده کنید:


pagedDS.CurrentPageIndex = pagedDS.PageCount


اما در مورد کدی که گذاشتید: شما رویدادی برای تغییر صفحه مثلا رفتن به صفحه بعد یا قبل ندارید. ظاهرا فقط می خواید چهار خبر آخر رو نشون بدید. همونطور که گفتم برای خوندن 4 رکورد از دیتابیس لازم نیست این روش رو برید. شما select رو اینطوری بنویسید (فرض می کنیم یه فیلد در database دارید با عنوان date):


Dim cmd As New SqlCommand("select top 4 news from ftnews order by date desc", con)


دستور بالا چهار خبر رو به ترتیب تاریخ از بزرگ به کوچک بر می گردونه.

nooshzad_parto
چهارشنبه 18 مرداد 1391, 14:23 عصر
دستور select به صورت زیر در کلاس خودتون استفاده کنید:
"select * from (select ROW_NUMBER() OVER(order by {0} desc )row ,{1} from news {2})t where row>={3} and row<={4} ", column_order, columns, condition, rowStart, rowEnd);