View Full Version : ادغام دو مقدار (فیلد) در یک ستون DBGRID
behnam_dr
سه شنبه 11 خرداد 1389, 23:28 عصر
من میخوام فیلد نام و نام خانوادگی در یک ستون نمایش داده بشه در DBgrid باید چه کنم؟
ببخشید اگر سوال تکراریست .با احترام
حسین شهریاری
سه شنبه 11 خرداد 1389, 23:54 عصر
با هر دیتا ستی کار میکنین کافیه یه فیلد محاسباتی از نوع String ایجاد کنین و توی رویداد OnCalcField اون کد زیر را بنویسین:
Adotable.fieldbyname('CalName').asstring:=Adotable .fieldbyname('Name')asstring+' '+Adotable.fieldbyname('Famil').asstring;
البته من فرض کردم طریقه ایجاد فیلد محاسباتی را بلد هستید.اگه مشکلی بود بگید...!
موفق باشید
vcldeveloper
سه شنبه 11 خرداد 1389, 23:57 عصر
اگر فقط برای نمایش میخواید استفاده کنید، یک راهش اینه که یک فیلد Calculated تعریف کنید، و مقدار آن را مساوی مقدار دو فیلد نام و نام خانوادگی قرار بدید.
یک راه دیگه اینه که برای رویدادهای OnGetText و OnSetText یکی از این فیلدها کد بنویسید، تا در زمان دریافت مقدار فیلد، به طور خودکار مقدار فیلد دیگه رو هم به خروجی اضافه کنه، و در هنگام ارسال مقدار فیلد، به طور خودکار مقدار فیلد دیگه را از رشته ورودی حذف کنه.
توی دلفی امکان تعریف فیلدهای Aggregate هم وجود داره، که این نوع از فیلدها در DBGrid به طور خودکار می تونند با هم به صورت یک فیلد، یا مجزا (به صورت چند فیلد) نمایش داده بشند، ولی فقط ClientDataset از این نوع از فیلدها پشتیبانی میکنه، و در ADO یا BDE شما این نوع فیلد را ندارید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.