بتاريخ: 25 يناير 201214 سنة comment_220005 السلام عليكم و رحمة الله وبركاتهأرجو أن أحصل على المساعدة منكم في الحصول على قيمة الـــ Childحبث أنني قمت بإنشاء جدول للحسابات و هي تقريبا 5 جداولقمت بإنشاء فورم و إنشأت شجرة و أستخدم الحدث When-New-Form-Instanceو كتب الكود التالي:- declare /* dept_cur=MAINACC_cur emp_cur=BRANCH1ACC_cur emp_cur2=BRANCH2ACC_cur dept_R=MAINACC_r emp_R=BRANCH1ACC_r emp_R2=BRANCH2ACC_r */ cursor MAINACC_cur is select acid , acname from MAINACC; cursor BRANCH1ACC_cur (N number) is Select acid1 , acname1 from BRANCH1ACC where acid=N; cursor BRANCH2ACC_cur (M number) is Select acid2 , acname2 from BRANCH2ACC where acid1=M; Htree item; parent_node varchar2(200); child_node varchar2(200); parent_node1 varchar2(200); child_node1 varchar2(200); begin Htree:=Find_item('tree'); For MAINACC_r in MAINACC_cur loop parent_node:=Ftree.Add_Tree_Node(htree,Ftree.ROOT_NODE,Ftree.PARENT_OFFSET,Ftree.LAST_CHILD,Ftree.EXPANDED_NODE,MAINACC_r.acid||' '||MAINACC_r.acname,'insrec',MAINACC_r.acid); Htree:=Find_item('tree'); For BRANCH1ACC_r in BRANCH1ACC_cur(MAINACC_r.acid) loop child_node:=Ftree.Add_Tree_Node(htree,parent_node,Ftree.PARENT_OFFSET,Ftree.LAST_CHILD,Ftree.EXPANDED_NODE,BRANCH1ACC_r.acid1||' '||BRANCH1ACC_r.acname1,'insrec',BRANCH1ACC_r.acid1); -- end loop; --end loop; --end; ------- /* Htree:=Find_item('tree'); For BRANCH1ACC_r in BRANCH1ACC_cur loop parent_node1:=Ftree.Add_Tree_Node(htree,Ftree.ROOT_NODE,Ftree.PARENT_OFFSET,Ftree.LAST_CHILD,Ftree.EXPANDED_NODE,BRANCH1ACC_r.acid1||' '||BRANCH1ACC_r.acname1,'insrec',BRANCH1ACC_r.acid1); */ Htree:=Find_item('tree'); For BRANCH2ACC_r in BRANCH2ACC_cur(BRANCH1ACC_r.acid1) loop child_node1:=Ftree.Add_Tree_Node(htree,child_node,Ftree.PARENT_OFFSET,Ftree.LAST_CHILD,Ftree.EXPANDED_NODE,BRANCH2ACC_r.acid2||' '||BRANCH2ACC_r.acname2,'insrec',BRANCH1ACC_r.acid1); end loop; --end loop; end loop; end loop; end; هذ الكود يقوم بإنشاء البكج الخاصة بـــFtreeومن خلاله يقوم بتعبئة الشجرة بالبياناتو كتبت في التريجر WHEN-TREE-NODE-SELECTEDالكود التالي declare Value_node varchar2(500); Value_node1 varchar2(50); x varchar2 (50); y1 varchar2 (50); y2 varchar2 (50); y3 varchar2 (50); htree item; begin htree:=find_item('tree'); Value_node := Ftree.GET_TREE_NODE_PROPERTY(htree,:system.trigger_node,Ftree.NODE_value ); :a:=value_node; end; حيث يقوم بعرض قيمة الــ Node في Text_item الموجود بالفورمجاولت أن أقوم بإختيار فيمة الـــChild و لكن لا يعرض اي قيمة في الــ Text_Itemأرجو منكم المساعدة في الحصول على ذلكو لكم جزيل الشكرأرفق لكم الفورم و الجداول و جمل الــInsert Thamer.rar تقديم بلاغ
بتاريخ: 26 يناير 201214 سنة comment_220024 في آخر تعبئة لاحظ باللون الاحمر :child_node1:=Ftree.Add_Tree_Node(htree,child_node,Ftree.PARENT_OFFSET,Ftree.LAST_CHILD,Ftree.EXPANDED_NODE,BRANCH2ACC_r.acid2||' '||BRANCH2ACC_r.acname2,'insrec',BRANCH1ACC_r.acid1);فقط بدلها بـــ : ,BRANCH2ACC_r.acid2 تقديم بلاغ
بتاريخ: 26 يناير 201214 سنة كاتب الموضوع comment_220030 شكرا لك أخ محمدو لكن أخيأنا أريد أن تظهر قيمة الChild في الشاشة. الكود اللي في الحدث When-New-Form-Instance شغال تمام و لكن الإضافة تكون في الحدث WHEN-TREE-NODE-SELECTEDلنفرض مثلا هذه الشجرة1 موظفين 1-1 العلاقات العامة 1-1-1 مدير العلاقات العامة2 مدربين2-1 تقنية معلومات---في الكود الثاني لما أضغط على العلاقات العامة تظهر لي كلمة العلاقات العامة في الفورم و لكن لما أضغط على مدير العلاقات العامة تبقى كلمة العلاقات العامة موجودة في الفورم ولا تتغير ولما أضعط على مدربين تظهر كلمة مدربين على الشاشة و كذلك لما أضغط على تقنية المعلومات تظهر كلمة تقنية المعلومات--المشكلة هي كيف أظهر قيمة الــ NODE اللي تحت الــ Childولك جزيل الشكر تقديم بلاغ
بتاريخ: 26 يناير 201214 سنة comment_220039 السلام عليكم ورحمة الله وبركاتهاخي الكريمجرب استخدام الكود كما يلي declare v_htree ITEM;pp integer ;current_node FTREE.NODE;num1 integer ;beginmessage('ÇáÊÓáÓá ÇáÔÌÑì'||' '||:system.trigger_node , no_acknowledge) ;v_htree := Find_Item('tree_bl.htree');current_node := Ftree.Get_Tree_Selection(v_htree, 1);pp := ftree.GET_TREE_NODE_PROPERTY(v_htree,current_node,Ftree.NODE_VALUE); select count(num) into num1 from v_bal_tree where num = pp ; if num1 > 0 then select de_cr , num , nam , vd , vcinto :de_cr , :num , :nam , :vd , :vcfrom v_bal_treewhere num = pp ; else :de_cr := 0 ;:num := 0 ;:nam := 0 ;:vd := 0 ;:vc := 0 ; end if ; end ; انظر للشاشة المرفقة مصممة بـ 10gجزاك الله كل خير main.rar تقديم بلاغ
بتاريخ: 26 يناير 201214 سنة comment_220041 السلام عليكم ورحمة الله وبركاتهكما يمكن استخدام الكود التالي وهو مطبق على قاعدة البيانات scottWHEN-TREE-NODE-SELECTEDdeclarerank number :=0 ;beginrank := ftree.get_tree_node_property('tree_bl.htree', :system.trigger_node , ftree.node_depth) ;if rank = 3 thengo_block('emp') ;set_block_property('emp' , default_where , 'empno='||ftree.get_tree_node_property('tree_bl.htree', :system.trigger_node , ftree.node_value)) ;execute_query ;elsego_block('emp') ;clear_block ;end if ;end ;ORdeclarev_htree item ;node_value number ;beginmessage('التسلسل الهرمي'||' '||:system.trigger_node , no_acknowledge) ;v_htree := find_Item('tree_bl.htree') ;node_value := ftree.get_tree_node_property(v_htree , :system.trigger_node , ftree.node_value) ;if node_value > 40 thengo_block('emp') ;set_block_property('emp', default_where , 'empno ='|| node_value ) ;go_block('emp') ;execute_query ;elsego_block('emp') ;clear_block ;end if ;end ;جزاك الله كل خير تقديم بلاغ
بتاريخ: 30 يناير 201214 سنة comment_220179 السلام عليكم ورحمة الله وبركاته أخي الكريم Thamer مرفق ملف يحتوي على ملف للدتا والشاشة بعد أن تم تعديلهما حسب المطلوب جزاك الله كل خير Thamer_tree.rar تقديم بلاغ
بتاريخ: 5 فبراير 201214 سنة كاتب الموضوع comment_220389 شكرا جزيلا أخي الكريمزادك الله علما و أدباو جزاك الله خير تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.