شايد براي شما پيش آمده باشد كه پس از نوشتن يك برنامه ديتابيس خواسته باشيد كه DBGrid را بر اساس سليقه خود تنظيم كنيد براي مثال همانند شكل:

 

 

1- اندازه ستونها را بزرگتر يا كوچكتر كنيد

2- رنگ عنوان و يا رنگ فونتها و يا رنگ سلولها و ... را تغير دهيد.

3- بخواهيد جاي ستونها رو تغييردهيد .

 خوب بعضي از اين كارها اتوماتيك انجام مي شوند مثل آيتم 1 و 3 و براي بعضيها بايد اين امكانات را فراهم كنيم مانند گزينه 2 .... اما در هر صورت اين تنظيمات موقتي هستند و تا زماني كه در برنامه هستيد اعمال مي شوند و با خروج از برنامه و بازگشت مجدد مشاهده مي كنيد كه تمام اون تنظيمات از بين رفته و به حالت اوليه برگشته!!! را جل چيست؟؟

زياد نگران نباشيد راه حل بسيار ساده اي وجود دارد. شايد يكي از راه حلها استفاده از فايلهاي INI باشد بله مي تواند باشد اما كد نويسي زيادي نياز دارد چون تنظيمات گريد زياد هستند(اندازه، موقعيت، رنگ ستونها، رنگ سطرها، نوع و رنگ فونتها و....) بهترين روش استفاده از متد زير در هنگام خروج از فرم ( Form.OnClose ) مي باشد:

 

DBGrid.Columns.SaveToFile('مسير و نام فايل');

procedure TForm1.FormShow(Sender: TObject);

begin

       DBGrid.Column.SaveToFile('c:\test.dat');

end;

 

و براي باز گرداني تنظيمات هنگام ورود  به فرم ( Form.OnShow )  از متد زير استفاده كنيد:

DBGrid.Columns.LoadFromFile('مسير و نام فايل');

procedure TForm1.FormShow(Sender: TObject);

begin

DBGrid.Columns.LoadFromFile('c:\test.dat');

end;

ديديد كه به سادگي امكان ايجاد يك DBGrid سفارشي ميسر است.

من در پايين يك يونيتي ساختم با نام DBUser مي توانيد انرا دانلود كنيد و سپس آنرا به پرو‍‍ژتون اضافه كنيد و سپس توي قسمت Uses  مانند زير آنرا اضافه كنيد:

….

var

      Form1: Tform1;

implementation

      uses Main, UfarsiDate, DBUser;

{$R *.dfm}

….

درون اين يونيت يك زيربرنامه اي با نام   DBGrid) مورد نظر SaveGrid( براي ذخيره تنظيمات موجود مي باشد. كافيست شما  از اين پروسيجر در هنگام خروج از فرم استفاده كنيد. براي مثال SaveGrid( DBGrid1 );.

درون اين يونيت يك زيربرنامه اي با نام   DBGrid) مورد نظر LoadGrid ( براي بازيابي  تنظيمات موجود مي باشد. كافيست شما  از اين پروسيجر در هنگام  ورود به فرم استفاده كنيد. براي مثال LoadGrid ( DBGrid1 );.

پروسيجر SaveGrid بطور خودكار يك فولدري با نام Config درون همان مسير برنامه شما ايجاد مي كند و درون آن تنظيمات DBGrid را با نام براي مثال Form1DBGrid1.cfg ذخيره مي كنه. و پروسيجر LoadGrid از همان فايلها استفاده خواهد كرد