DBTreeView با امکان راست به چپ در Delphi
سطح مقاله: حرفه ای.
مقدمه
خیلی از ماها در پروژه هامون به یک DBTreeView خوب نیازمندیم و با خودمون آرزو میکردیم کاش این کامپوننت فرضی قابلیت نمایش راست به چپ را هم پشتیبانی میکرد.
گزینه هایی که اکثرا میشناسید عبارتند:اما هیچ کدوم از اینها راست به چپ را پشتیبانی نمیکنند.
- Express DBTree
- Dream Tree
- و چند تای دیگه.
از طرف دیگر بعضی هاتون با Virtual Treeview آشنا هستید. این یکی راست به چپ رو بطور کامل پشتیبانی میکنه، امابخاطر همین جماعت اکثرا بیخیالش میشن.
- کار کردن باهاش سخته.
- امکان اتصال به دیتابیس رو بطور پیش فرض نداره.
نبود اون چیزی که لازم داشتم باعث شد دست به کار بشم تا ترکیبی از Virtual Treeview و اتصال خودکار به دیتابیس رو بعنوان یک کامپوننت بنویسم. کمی هم روش کار کردم، تا جاهای خوبی هم کار رو پیش بردم، اما؛
بی اطلاع بودن از وجود بعضی چیزها دو دلیل میتونه داشته باشه:بعد از مدتی کار بر روی موردی که چند خط بالاتر ذکر کردم دریافتم دوست دیگری در گوشه ای دیگر از جهان که احتمالا خلوت هم هست کاری رو که من میخواستم انجام بدم انجام داده، اونم بطور تمام و کمال.
- یا ما سعی نکردیم اون چیز رو پیدا کنیم و یا درباره اش اطلاع کسب کنیم، بعبارت دیگه تلاش کافی نکرده ایم (در مورد اکثر کسانی که در اطرافم میشناسم این قضیه صادقه).
- ایجاد کننده اون چیز به اندازه کافی برای معرفی کارش تلاش نکرده، بخاطر همین ناشناخته مونده.
معرفی ابزار
من این مخلوق رو بطور خیلی اتفاقی کشف کردم: Dynamic DBTreeView controls v 1.9
این کامپوننت یک پوسته روی Virtual Treeview محسوب میشه و کار کردن با اون، بخصوص متصل کردنش به دیتابیس رو خیلی راحت میکنه.
برای استفاده از اون کافیه یک نمونه از این کامپوننت رو بر روی فرم تان بیاندازید، چند تا مشخصه (که تحت یک مشخصه بنام DBTreeFields گروه بندی شده اند) رو مقداردهی کنید، و بروید دنبال کارتان.
از نکات جالب این ابزار میتوان به همزمان بودن حرکت روی شاخه های درخت و جابجایی رکورد با توجه به رکورد فعال در درخت (و برعکس)، قابل ویرایش عنوان رکورد در درخت، و امکان Drag & Drop شاخه های درخت و عوض شدن ParentID با توجه به پدر جدید شاخه در درخت اشاره کرد.
دموی هایی که همراه این مجموعه ارائه شده به اندازه کافی گویا و واضح هست.
امیدوارم از من نخواهید قدم به قدم توضیح بدم این دقیقا چطوری کار میکنه، و یک کم از هوش تان برای بکار گرفتن این ابزار استفاده کنید.
یک تصویر نیز بعنوان گواه به پایین این مطلب چسبیده است.
نیمه شب خوبی داشته باشید.