PDA

View Full Version : شماره ردیف در dbgrid یا datagrid



park1741
چهارشنبه 02 بهمن 1387, 23:22 عصر
با سلام
آیا می شود در dbgrid یا datagrid کاری کرد که بعد از گرفتن هر query به طور اتوماتیک به رکوردها شماره ردیف اختصاص بدهد؟

mpmsoft
پنج شنبه 03 بهمن 1387, 09:28 صبح
دوست عزیز شما برای این منظور چند راه دارید

1 - در زمان انتخاب ستونها شماره ردیف رو انتخاب کنید ROW_NUMBER() در SQL 2005
2 - شماره آی دی فیلد رو ببینی و بگردی بگی جمع ردیفی رو بیار که آیدیش کوچکتر و مساوی آیدی جاری باشه (که خیلی کنده)

3 - بعد از نمایش بروی گرید از For i استفاده کنی

rouzbeh_ziafati
سه شنبه 20 اسفند 1387, 00:21 صبح
آقا من برای گزارش گیری از Datareport استفاده کردم .
در گزارش گیری نیاز به شماره ردیف برای رکوردهایی دارم که در پایان گزارش میاند .
سوال کردم کسی بلد نبوده .
یعنی امکان به این مهمی راهی ساده براش گذاشته نشده ؟

rouzbeh_ziafati
سه شنبه 11 فروردین 1388, 12:35 عصر
دوست عزیز شما برای این منظور چند راه دارید

1 - در زمان انتخاب ستونها شماره ردیف رو انتخاب کنید ROW_NUMBER() در SQL 2005
2 - شماره آی دی فیلد رو ببینی و بگردی بگی جمع ردیفی رو بیار که آیدیش کوچکتر و مساوی آیدی جاری باشه (که خیلی کنده)

3 - بعد از نمایش بروی گرید از For i استفاده کنی


ببخشید من می خوام شماره ردیف رو در گزارش گیریم استفاده کنم .
یعنی هر رکوردی که در گزارش گیری نشون داده میشه شماره داشته باشه به ترتیب از 1 ...
این روشی که شما گفتید برای اون حالت کاربردی نداره .
میشه راهنمایی کنید ؟

mpmsoft
سه شنبه 11 فروردین 1388, 13:23 عصر
آیا می شود در dbgrid یا datagrid کاری کرد که بعد از گرفتن هر query به طور اتوماتیک به رکوردها شماره ردیف اختصاص بدهد؟

روشي که من عرض کردم خدممتون از طريق 2005-2008 SQL Server صورت مي گيره يعني در واقع يک فيلد به عنوان رديف بر مي گردونه و شما اون رو در جدول مي بينيد (سرعت بالا)

ولي راه ساده تر اينه که يک Loop بذاريد و ستون رديف رو مقدار دهي کنيد (سرعت پايين)

als_1360
جمعه 20 آذر 1388, 12:36 عصر
سلام

من هم دنبال راه حل این مشکل بودم جوابشو پیدا کردم خواستم یه جا بذارم که بقیه هم استفاده کنند :
اگر توی کوئری یه فیلد با این مشخصات بذارید مشکلتون حل می شه:

row_number() over (order by 2 DESC)
به طور مثال :

SELECT row_number() over (order by ID DESC),ID FROM Users

akbar-kh
پنج شنبه 03 فروردین 1391, 20:38 عصر
در اسکیو ال 2000 چی ؟