PDA

View Full Version : ردیف برای Dbgrid



javidtaheri
یک شنبه 17 آبان 1383, 12:19 عصر
میخواهم برای DBgrid خود با توجه به تعداد رکورد های خود ردیف تعریف کنم چگونه ؟ :kaf:

JavanSoft
یک شنبه 17 آبان 1383, 13:17 عصر
DBGrid یک عنصر نمایش اطلاعات از پایگاه است ... اگر در پایگاه چنین فیلدی دارید انرا نمایش دهید
اگر ندارد با استفاده از Calculated Fields آنرا ایجاد کنید

javidtaheri
یک شنبه 17 آبان 1383, 18:06 عصر
دوست عزیز من یک Query دارم که با ان و دستور Select یک سری رکورد ها را انتخاب وانرا در یک DBGrid نمایش میدهم با این تفاصیل چگونه از Calculated Fields استفاده کنم ::نوشتن::

MiRHaDi
یک شنبه 17 آبان 1383, 19:24 عصر
سلام
روی ADOQuery دابل کلیک کن
بعد Add all Fields رو بزن
بعد New Field بزن و Calculat field بزن
بعد توی Oncalculated field بنویس که

Dataset['fieldname'].value := adoquery.reccount;
بای

vcldeveloper
دوشنبه 18 آبان 1383, 02:30 صبح
بعد توی Oncalculated field بنویس که

Dataset['fieldname'].value := adoquery.reccount;
عزیز من، اولا reccount نیست و RecordCount.
ثانیا، RecordCount فقط تعداد کل رکوردهای برگشت داده شده توسط Query رو نمایش میده، نه شماره رکورد رو :sunglass: برای شماره رکوردها می تونید از RecNo استفاده کنید. البته RecNo شماره رکورد مورد نظر در Query رو بر می گردونه، نه شماره رکورد مورد نظر در جدول بانک اطلاعاتی رو!!!

arshia_
دوشنبه 18 آبان 1383, 10:10 صبح
راستی یه سوال....
چرا از همون امکانات اس کیو ال استفاده نمی کنی؟؟؟
من توی برنامه ها با فرمانهای اس کیو ال که می نویسم همه چیز رو کنترل می کنم/...
به نظرم این راه ساده تر و دقیق تر است..

javidtaheri
دوشنبه 18 آبان 1383, 15:40 عصر
دوست عزیز من اینکار ها را از طریق کدنویسی میخواهم انجام بدهم چطوری؟ :mad: :sorry:

vcldeveloper
سه شنبه 19 آبان 1383, 01:57 صبح
دوست عزیز من اینکار ها را از طریق کدنویسی میخواهم انجام بدهم چطوری؟
مگه جوابهایی که تا حالا داده شده از طریق کدنویسی نبوده؟!!!!!!!! :گیج:

mkalone
سه شنبه 19 آبان 1383, 14:45 عصر
من هم مشکل دارم وقتی می خواهم دستور Select رو بنویسم فیلد RowNum رو چه جوری به در دستور
بعنوان فیلدی از نوع fkCalculatedمعرفی کنم بعدش ام من با این Query ام هزار تا کار میکنم که نیمشه توی
رویدادش بنویسم هر جائی یک کاری میکنه
:thnx:

MiRHaDi
سه شنبه 19 آبان 1383, 22:48 عصر
سلام
اون جوابی که دادم رو بنویس
علی جان !‌میدونم recourdcount چی کار میکنه !
در حالت Oncalculate قبل از اینکه رکورد بعدی لود بشه این تابع اجرا میشه !‌ در هر لحظه میگه چند تا رکورد داریم !‌ این جواب همون ردیف میشه !‌
امتحان کن
خیر سرمون دیگه فرق RecNo با ReccordCount رو نمیدونیم و .... !؟؟ دمت گرم
بای

vcldeveloper
چهارشنبه 20 آبان 1383, 01:53 صبح
در حالت Oncalculate قبل از اینکه رکورد بعدی لود بشه این تابع اجرا میشه !‌ در هر لحظه میگه چند تا رکورد داریم !‌ این جواب همون ردیف میشه !‌
امتحان کن
میرهادی جان، قربونت، امتحان کردم که میگم باید از RecNo استفاده کرد! :sunglass:
حالا خودت یه بار امتحان کن. متوجه میشی.

javidtaheri
چهارشنبه 20 آبان 1383, 15:13 عصر
دوست عزیز جناب اقای میرهادی
راه حل شما با دستور RecNo جواب میدهد
سوال من این است اضافه کردن فیلد محاسباتی در زمان اجرا از طریق کد نویسی چگونه است
من میخواهم ایجاد این فیلد را در زمان اجرا انجام دهم

MiRHaDi
چهارشنبه 20 آبان 1383, 19:47 عصر
سلام
خوب مگه چیه :)) ما مخلصیم چشم !‌حالا مهم Rec است نه بقیش :*
آقا در زمان اجرا هست دیگه !
میخوای فیلد رو بسازی ؟ یعنی روی Query نمیخوای دابل کلیلک کنی ؟
خوب باید Create کنی !‌ ولی به زحمتش نمی ارزه ها
بای

Pichidehtarin
چهارشنبه 20 آبان 1383, 21:00 عصر
از بانک DBISAM استفاده میکنم ، وقتی فیلتر اعمال میشه RecNo اعمال نمیشه :strange:

MiRHaDi
پنج شنبه 21 آبان 1383, 05:56 صبح
سلام
فیلتر نه ! Calculate
بای

Pichidehtarin
پنج شنبه 21 آبان 1383, 09:18 صبح
فیلتر نه ! Calculate

میدونم باید کد مربوط به RecNo رو تو OnCalculated بنویسم . مشکل اینجاست که بعد از اعمال فیلتر شماه رکورد ها به همون صورت باقی میمونه از اول (از 1) شروع نمیشه .

Mohammad S
پنج شنبه 21 آبان 1383, 18:37 عصر
میدونم باید کد مربوط به RecNo رو تو OnCalculated بنویسم . مشکل اینجاست که بعد از اعمال فیلتر شماه رکورد ها به همون صورت باقی میمونه از اول (از 1) شروع نمیشه .
این یکیو راست میگه. تو DBISAM اینجوریه. من که تا حالا راه حلی پیدا نکردم! :sorry: