نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
من می خواهم محتوای جدول گروه های کالا را بصورت درختی نمایش دهم بطوری که Check Box هم داشته باشد کد زیر را نوشتم
var CurrentDeptID, RecordDeptID: Integer;
RootNode, DeptNode: TTreeNode;
begin
CurrentDeptID := 0;
TreeView1.Items.Clear;
DeptNode := nil;
try
SpCategoryGoods_Brw.First;
while not SpCategoryGoods_Brw.Eof do
begin
RecordDeptID := SpCategoryGoods_Brw.FieldByName('ParentCategoryID' ).AsInteger;
if (DeptNode = nil) or (RecordDeptID <> CurrentDeptID) then
begin
DeptNode := TreeView1.Items.AddChild(RootNode, SpCategoryGoods_Brw.FieldByName('NameParent').AsSt ring);
DeptNode.StateIndex := 1 ;
CurrentDeptID := RecordDeptID;
end;
DeptNode2 := TreeView1.Items.AddChild(DeptNode, SpCategoryGoods_Brw.FieldByName('Name').AsString);
DeptNode2.StateIndex := 1 ;
SpCategoryGoods_Brw.Next;
end;
finally
SpCategoryGoods_Brw.Close ;
end;
اما CheckBox را برای همه نودها ایجاد نمی کند
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
کد-پدر- نام گروه
NULL 1 مواد غذايي
NULL 2 بوتيک
1 16 مواد پروتئيني
1 17 آجيل و خشکبار
1 24 چيپس و پفک و تنقلات
2 25 پيراهن و شلوار
2 26 کت و کاپشن
2 28 لباس شب
2 29 کيف و کفش و کمربند
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
الان چک باکس کدتون کجاست؟؟
چه کامپوننتی استفاده کردید؟ دیفالت دلفی چک باکس نداره.
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
از کامپوننت Virtual Tree view استفاده کنید
توی همین سایت بگردی لینک دانلودش وجود داره که تا XE 7 v رو پشتیبانی میکنه
البته TMS , Jedi , Alpha هم این کنترل رو دارند
اما اون اولی از همشون حرفه ای تره
یا حق
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
نقل قول:
الان چک باکس کدتون کجاست؟؟
چه کامپوننتی استفاده کردید؟ دیفالت دلفی چک باکس نداره.
کامپوننت استاندارد دلفی استفاده کردم وقتی DeptNode2.StateIndex رو مقدار دهی کنی اگر 1 باشد CheckBox در وضعیت True اگر 2 باشد CheckBox در وضعیت False اگر 3 و 4 باشد Radio در TreeView قرار می گیرد می تونید در حالت Desigen time راحت موضوع رو چک کنید.
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
نقل قول:
از کامپوننت Virtual Tree view استفاده کنید
با توجه به اینکه کامپوننت استاندارد دلفی این قابلیت رو داره نمی خوام از کامپوننت دیگری استفاده کنم
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
خب البته این اتفاق در نسخه من نیفتاد! احتمالا نسخه های بالاتر اینطور شده باشه، ممنون برای این نکته.
از روی همین نکته خودتون تست کنید ببینید مثلا جای State اگر Text رو مقدار بدید، همه نودها مقدار می گیرند یا نه، اگر بله، ایراد از کامپوننت و اگر نه، ایراد از کد شماست.
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
نقل قول:
خب البته این اتفاق در نسخه من نیفتاد! احتمالا نسخه های بالاتر اینطور شده باشه، ممنون برای این نکته.
این امکان رو من در نسخه دلفی 7 و دلفی XE7 تست کردم بدون خطا اجرا شد و نام نود رو درست پر می کنه و به احتمال زیاد کد من قابل اصلاح است ولی من نتونستم این کار رو انجام بدم (تا الان) StateIndex روی بعضی از نودها یا مقدار دهی نمی شود یا اینکه عملکرد صحیح رو از خود نشان نمی دهد.
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
خب ایراد داره پس، از کامپوننت های دیگه استفاده کنید.
TMS مجموعه خوبی رو ارائه داده.
اگر هم خواستید می تونید خودتون مثل من بنویسیدش. دست به کار بشید کمکتون می کنم.
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
من هنوز نتونستم به شکل دلخواه کارم رو راه بندازم حتی کامپوننت های دیگر رو هم استفاده کردم و به همون مشکل قبلی برخورد کردم برای بعضی از نودها ChecBox نمی زاره اما توی این لینک گفته که با کامپوننت دلفی هم می شه این کار رو کرد
http://delphi.about.com/od/vclusing/l/aa092104a.htm
نقل قول: نمایش گروه های کالا بصورت ساختار درختی که دارای Check Box باشد
ببینید نمی شه که یک بام و دو هوا،
اگر تکست رو درست می گذاره، باید چک رو هم درست بگذاره.