ورود

View Full Version : dbgird



prettynina
چهارشنبه 05 دی 1386, 15:52 عصر
می‌خوام وقتی کاربر روی یکی از سلول‌های dbgrid (که توی دیتا بیس فیلدهای یه table هستند) click میکنه، رکوردهای اون table توی یه dbgrid دیگه نمایش داده بشه.

فکر میکنم توی رویداد oncellclick باید کدشو بنویسم. اما نمیدونم که مقدار سلول dbgrid دوم رو برابر با چی قرار بدم. یعنی چه جوری بگم که این کار با click کردن انجام بشه؟؟

توی تمام تاپیک‌های مربوط به dbgrid جستجو کردم ولی جواب سوالمو نگرفتم.
ممنون میشم از راهنماییتون.

vcldeveloper
چهارشنبه 05 دی 1386, 19:31 عصر
اگر محتوی آن فیلد داده ایی از نوع DataSet هست، یعنی خود فیلد داده های یک جدول فرعی را در خودش نگه داری میکنه، خود dbGrid یک دکمه کنار هر یک از Cell های مربوط به آن فیلد درست میکنه که با کلیک بر روی آن، یک dbGrid دیگه برای نمایش محتویات جدول فرعی باز میشه.
اگر فیلد مربوطه فقط شامل اشاره گری به داده هایی در یک جدول دیگه هست (مثل فیلد ID جدول دوم)، می تونید بین جدول اول و جدول دوم بر اساس محتوی همین فیلد یک رابطه Master\Details ایجاد کنید و به هر کدام از آنها یک dbGrid متصل کنید. در این صورت فقط کافی در زمان کلیک کردن روی فیلد مربوطه، dbGrid دوم نمایش داده بشه.

prettynina
پنج شنبه 06 دی 1386, 08:21 صبح
این رابطه رو چطوری برقرار کنم؟

Bahmany
پنج شنبه 06 دی 1386, 09:15 صبح
این رابطه رو چطوری برقرار کنم؟
در قسمت خصیصه های Dataset تون توجه کنید و داخل قسمت MasterFields شوید
در آنجا می تونید این رابطه رو ایجاد کنید
اما باید یک فیلد مشترک بین جدول اصلی و جدول زیرشاخه داشته باشید تا رابطه بر اساس این فیلد باشه.

prettynina
پنج شنبه 06 دی 1386, 10:48 صبح
وقتی این کارو انجام میدم dbgrid اولی( اونی که فیلدها توشه) خالی میشه.

prettynina
پنج شنبه 06 دی 1386, 22:36 عصر
باید یه جایی بگم که اون فیلدهای dbgrid اول رو بره بخونه. ولی چه جوری؟؟؟؟

ghabil
جمعه 07 دی 1386, 12:28 عصر
سوالت که واضح نبود ولی با توجه به توضیحات اضافه ای که دادی فکر میکنم این رو میخواستی :
این برنامه لیست فیلدهای یک جدول رو میگیره و توی یک DBGrid نشون میده، بعد روی هرکدوم که کلیک کنی لیست رکوردهاش رو توی یک DBGrid دیگه نشون میده.

1) قبل از اجرای برنامه ConnectionString مربوط به ADOConnection رو درست کن مناسب با کامپیوتر خودت.

2) Constی که اسمش TableName هست رو مساوی اسم جدولت قرار بده.