با سلام و روز بخیر...

ادامه مبحث DBGrid ....



جابجایی ستون ها

در زمان طراحی : یک ستون را با ماوس انتخاب میکنیم و Drag میکنیم. همین!

در زمان اجرا : تنها در صورتی User ها میتونن ستونها رو در زمان اجرا جابجا کنند که خاصیت DragMode برابر با dmManual باشه یعنی بشه بصورت دستی تنظیمش کرد. اگر کاربر یک ستون را جابجا کند رویداد OnColumnMoved رخ میدهد که میتونیم متد خودمون رو اونجا بنویسیم تا به هنگام جابجایی ستون اجرا شود. برای جلوگیری از انتقال ستونها توسط کاربران در زمان اجرا خاصیت DragMode را به dmAutomatic تغییر دهید. (فکر میکنم این مسئله رو خیلی ها رعایت نمی کنند)


کنترل رسم

اولین سطح کنترل رسم گرید، تعیین خواص ستونها می باشد. این خواص چگونگی ظاهر شدن یک ستون را مشخص میکنند. گرید بصورت اتوماتیک از خواص فونت، رنگ و ... یک ستون برای رسم سلولها استفاده میکنه. متن داخل سلولها مطابق با خواص DisplayFormat یا EditFormat از فیلدهای مرتبط رسم میشه. اگر میخواهید رسم پیش فرض رو بهبود ببخشید، میتونید کد مورد نظرتون رو در رویداد OnDrawColumnCell بنویسید. اگر میخواهید رسم پیش فرض انجام بشه و بعد از اون رسم شما انجام بگیره خاصیت DefaultDrawing را True کنید. در اینصورت ابتدا رسم پیش فرض صورت میگیرد و بعد بلافاصله رسم شما انجام می شود. این کار وقتی به درد میخوره که مثلا میخواهید یک ستون ثابت خالی داشته باشید و بخواهید در آن تصویر رسم کنید.

اگر میخواهید رسم تمام گرید رو خودتون به دست بگیرید، خاصیت DefaultDrawing را False کنید و کد خودتون رو در رویداد OnDrawColumnCell بنویسید.

اگر میخواهید که رسم ستونهای خاصی رو خودتان انجام دهید و بقیه ستونها بصورت پیشفرض رسم شوند، میتوانید DefaultDrawColumnCell را در داخل رویداد OnDrawColumnCell فراخوانی کنید. مثال آن در مقاله رنگ کردن DBGrid موجود است.



در پست بعد ادامه میدیم....