PDA

View Full Version : قرار دادن button در dbgrid



disiba
سه شنبه 03 شهریور 1394, 13:12 عصر
سلام
چطوری میشه در سلولهای دیبی گرید button گذاشت ؟

یوسف زالی
سه شنبه 03 شهریور 1394, 14:23 عصر
یکی از راههاش اینه که ظاهر یک دکمه رو در رویدادی مثل OnDrawCell پیاده کنید و برای کلیک رویداد انتساب بدید.
یکی از راههاش اینه که واقعا دکمه درست کنید، اما این به این معنی نیست که برای هر ردیف یک دکمه بسازید، فقط یک دکمه بسازید و در هنگامی که لازم دارید، اون رو در موقعیت خودتون نمایشش بدید.
این راه خوبی نیست که بیایید واقعا برای هر ردیف یک دکمه جدا بسازید، ممکنه مثلا ده هزار تا ردیف داشته باشه، پس اول مسیرتون رو معین کنید.

hadisalahi2
پنج شنبه 05 شهریور 1394, 09:23 صبح
کامپوننت های مثل tms خودشون این قابلیت رو دارند و البته چند کامپوننت دیگه
راحت تر هم هستش که از این کنترل ها استفاده کنید

disiba
پنج شنبه 05 شهریور 1394, 21:12 عصر
میشه اسامی بقیه کامپوننت ها رو بگید ؟

hadisalahi2
شنبه 07 شهریور 1394, 10:38 صبح
ehlib
devexpress
raize

meysam_212
شنبه 07 شهریور 1394, 12:28 عصر
ehlib
devexpress
raize
مطمئنی ehlib اینو داره؟ چون من قبلا خواستم این کارو بکنم با rhlib ولی نداشت، حدود 6 ماه پیش با آخرین نسخه ehlib

اگه واقعا خود باتن رو بخایی بزاری توی دیبیگرید، می تونی به تعداد ردیفهایی که نمایش داده می شه باتن بزاری (مثلا دیبیگرید هربار 10 ردیف از کل ردیف هارو نشون میده) تا هر ردیف باتن خودش رو داشته باشه و تو رویداد DrawColumnCell تگ اون باتن رو برابر کنی با پرایمری کی ردیفی که میخواد نمایش داده بشه تا بتونی تو هر باتن کلید ردیف رو داشته باشی، ایرادی که داره اینه که اگه دیبیگرید بصورت افقی اسکرول بشه به مشکل می خوره مگه اینکه راهی پیدا کنی که متوجه بشی کدوم ردیف ها تو ستون های که دیبیگرید داره توی مانیتور نشون میده هستن یا نیستن

یوسف زالی
شنبه 07 شهریور 1394, 12:57 عصر
می تونی به تعداد ردیفهایی که نمایش داده می شه باتن بزاری

اشتباهه، اگر گرید رو ماکزیمایز کرد چه؟
برای ایراد اسکرول افقی، راه حل هست، اما کل روش مطرح شده زیر سواله.
بهترین کار اینه که فقط یک عدد دکمه ساخته بشه، تمام دکمه های دیگر فقط نمایشی و روی canvas بصورت یک نقاشی هستند، در هنگام نیاز، محل دکمه انتقال پیدا می کنه به جایی که لازمش داریم. از دید کاربر، همه دکمه هستند.

meysam_212
شنبه 07 شهریور 1394, 23:13 عصر
اشتباهه، اگر گرید رو ماکزیمایز کرد چه؟
برای ایراد اسکرول افقی، راه حل هست، اما کل روش مطرح شده زیر سواله.
بهترین کار اینه که فقط یک عدد دکمه ساخته بشه، تمام دکمه های دیگر فقط نمایشی و روی canvas بصورت یک نقاشی هستند، در هنگام نیاز، محل دکمه انتقال پیدا می کنه به جایی که لازمش داریم. از دید کاربر، همه دکمه هستند.

میشه رانتایم به ازای هر ردیف اگه باتن نبود براش ساخت ولی روشی که گفتین بهینه تره، توی سیشارپ پیشفرض میشه باتن گذاشت ولی یه نمونه که دیدم سرعت رفرش کردنش کند بود حتی معلوم بود که برنامه منتظر لود شدن باتن هاست