السلام عليكم
أعمل برنامج حسابات ولم استطيع التعامل مع مع مكون treeview لعمل شجرة حسابات
حيث يتم حفظ البنود في قاعدة البيانات وعرضها في treeview
لو تفضل احد شرح التعامل معه
مرفق لكم جدول البنود
جزاكم الله خيرا
وعليكم السلام ورحمة الله وبركاته
حاول طرح سؤال محدد ما الذي تود عمله؟
لو بقيت طول اليوم أشرح التعامل مع المكون لما انهيت!
انظر الأمثلة المرفقة مع دلفي...
لدي جدولين الجدول الاول بها b_no و b_name
الجدول الثاني بها و b_no و s_no و s_name
كيف اضافة b_name و يتفرع منه s_name في حالة تساوي b_no في الجدول الاول b_no في الجدول الثاني
كود :
var
N: TTreeNode;
While not form2.adoTable1.Eof do
begin
N:= form1.TreeView1.Items.AddChild(Nil,form2.adotable1.Fields[1].AsString);
form2.adotable2.first;
While not form2.adotable2.Eof do
begin
form1.TreeView1.Items.AddChild(N,form2.adotable2.Fields[1].AsString);
form2.adotable2.Next;
end;
في حال انك تريد الضغط على زر وتظهر البيانات في التري فيو يمكنك استخدام هذا الكود
على اساس انك عملت الجدول الثانوي في ADOTABLE2
والجدول الاب او الرئيسي في الADOTABLE1
اتمنى لك التوفيق
مع ذلك لدي سؤال لو اردنا ان يعرض حقل معين وليكن حقل الاسماء لكن عند النقر على اي فرغ فيها يقوم بالارتباط بحقل ال ID
انا اعرف انه نستطيع بال LISTBOX بواسطة الامر ADDOBJECT
لكني لم استطع عملة بالتري فيو
توصلت الي الحل هذا هو الكود
كود :
var
N: TTreeNode;
begin
ADOTable1.Open;
ADOTable2.Open;
While not ADOTable1.Eof do
begin
N:= TreeView1.Items.AddChild(Nil,ADOTable1.Fields[1].AsString);
ADOTable2.first;
While not adotable2.Eof do
begin
if (ADOTable1.FieldByName('b_no').AsString=ADOTable2.FieldByName('b_no').AsString) then
TreeView1.Items.AddChild(N,adotable2.Fields[2].AsString);
adotable2.Next;
end;
ADOTable1.Next;
end;
اشكرك اخي لكن المشكلة لم تحل هذه الصورة ستوضح المشكلة وكذلك المرفق
كود :
http://www5.0zz0.com/2011/03/31/10/947090031.jpg
الاخ
shagrouni جاب الفكرة في هذا الموضوع
record pointer
لكني لم استطع التطبيق
ولكم جزيل الشكر