ADO .net and showing query results page by page

CaptanBlack

Member
سلام

من يه جورايي تو کف اين Ado .net موندم و يه جورايي هم تو گير و دار هاش !
راستش خيلي مواقع هست كه مي خواهيم Data اي كه از Query به دست اومده را مثلا اگه تعدادش بيش از 30 يا 40 تا ركورد باشه . صفحه به صفحه نشون بديم ! اين asp .net با كنترل repeater كار را خيلي راحت كرده و دو تا كنترل ديگه هم هست . گرچه من ترجيح مي دهم با sqlDataReade كار كنم و با متد Read بخونم نتيجه را . حالا ما گير كرديم كه چطوري مثلا بگيم 30 تا ركورد اول را بي خيال بشو ! اين كار توي ADO به راحتي rs.move 31 بود ! اما اينجا خيلي شلوغ الكيه ! منم هر چي مثال ديدم ! همشون يا Data را Binde كرده بودن يا روشهاي ديگه همش پشت سر هم بود ! كسي مي دونه من چطوري Data را صفحه به صفحه نشون بدم ؟


وحيد رضا :D
 

aminir

Member
عزيز از كنترل DataGrid استفاده كن از خصوصيت Paging به همين راحتي مي توني تنظيم كني در هر صفحه ات چند تا ركورد رو نمايش بده
موفق باشي
 

omidak

Active Member
aminir گفت:
عزيز از كنترل DataGrid استفاده كن از خصوصيت Paging به همين راحتي مي توني تنظيم كني در هر صفحه ات چند تا ركورد رو نمايش بده
موفق باشي

سلام:
با این کار شما اگر رویه دیتابیس اتون اگر 1000000 تا Record داشته باشید. باید همه رو بخونید و چند تا از اون رو نمایش بدید. پس بهتره هنگام Query از دیتابیس این کار رو به خوده دیتابیس بسپرید.
همچنین کار DataGrid نمایش Data نیست و اگر در Msdn بگردید میبینید که توصیه شده برایه نمایش دیتا از Repeater استفاده کنید.

برایه صفحه بندی هم همین چند روز پیش یکی این مشکل رو داشت و در رابطه با اون صحبت شد اگر Search بکنید حتماً پیدا میکنید.
 

aminir

Member
سلام آقا اميد
CaptanBlack نوشته اگه تعداد ركورد ها از 30-40 تا بيشتر بود منم بهش اين پيشنهاد رو دادم براي تعداد ركورد بالا حق با شماست

راستي مي شه بگي پس كار ديتا گريد چيه؟؟؟؟
 

CaptanBlack

Member
سلام

راستش امين جون ! من منظورم از 30 يا 40 تا ركورد فقط يه مثال بود و ديتابيس من بيش از اين حرفا ركورد داره !

اميد جان - راستش هيچ منبعي بهتر از همون .net documentation نيست !‌. راه حلش را هم پيدا كردم :

متد Fill از sqldataadapter يه overload function داره ! كه علاوه بر پارامتر ديتا سورس - پارامتر ركورد شروع و تعداد ركورد مورد نياز و اسم جدول را مي گيره ! خيلي هم راحت بر مي گردونه !‌

راستش گفته بودي كه بهترين چيز Repeater هستش !
جالبه بدوني من 99٪ حتم دارم كه اين ايده را مايكروسافت از Cold Fusion گرفته ! <cfoutput> كه البته خيلي تميز تر از Repeater كار مي كنه !

:oops: من خودم ترجيح ميدم از Datareader استفاده كنم و خودم بندازمش توي loop !

قربون همتون
وحيد رضا
 

aminir

Member
عزيز دلم وقتي آدم يه مثال مي زنه درست مي زنه من منظورت رو اينطوري گرفتم كه مثلا حد اكثر 1000 تا ركورد داري
 

omidak

Active Member
سلام:
کار DataGrid انجام عملیات Edit و ... هستش. البته میتونه اطلاعات رو نمایش بده اما Process زیادی میبره.

Fill کردن دیتا بر رویه DataSet توسط DataAdapter هم همین کار رو میکنه... و وقطی که شما 100 Record اول رو رد کنید این توسط DataReater اونها رو رد میکنه.
در ضمن برایه خوندن اطلاعات شما از DataReader استفاده کنید .
 

جدیدترین ارسال ها

بالا