بتاريخ: 24 أغسطس 20169 سنة comment_277419 السلام عليكم انا عملت شجرة فيها قطاعات وداخل القطاعات مشروعات قيمة القطاع هو اسمه وقيمة المشروع هو رقمه انا عاوز اعمل بحث برقم او اسم المشروع بحيث اعمل text اكتب فيه رقم المشروع او اسمه واضغط على زر المفروض يروح يقف على المشروع اللي في ال tree انا كتبت الكود ده في when new form instance declare cursor main_cur is select distinct project_main from projects order by project_main; cursor project_cur (N varchar2) is Select project_id , project_name from projects where project_main=N order by project_name; Htree item; parent_node varchar2(500); child_node varchar2(500); begin CLEAR_LIST('DETAIL_LIST'); CLEAR_LIST('LIST1'); Htree:=Find_item('TREE'); For r in main_cur loop parent_node:=Ftree.Add_Tree_Node(Htree, Ftree.ROOT_NODE, Ftree.PARENT_OFFSET, Ftree.LAST_CHILD, Ftree.EXPANDED_NODE, r.project_main, 'insrec', r.project_main); Htree:=Find_item('TREE'); For x in project_cur(r.project_main) loop child_node:=Ftree.Add_Tree_Node(htree, parent_node, Ftree.PARENT_OFFSET, Ftree.LAST_CHILD, Ftree.EXPANDED_NODE, x.project_id||' '||x.project_name, 'insrec', x.project_id); end loop; end loop; end; وكتبت الكود ده في when tree node selected declare NODE_VAL varchar2(200); htree item; t_val number; X NUMBER; n INTEGER:=1; a varchar(300); k NUMBER; m number; Z NUMBER; begin CLEAR_LIST('LIST1'); Htree:=find_item('TREE'); NODE_VAL := Ftree.GET_TREE_NODE_PROPERTY(Htree, :system.trigger_node, Ftree.node_value); :CURRENT_PART:=NODE_VAL; وعملت text بحث و button كتبت فيه DECLARE htree ITEM; find_node Ftree.NODE; BEGIN htree := Find_Item('TREE'); Ftree.Set_Tree_selection(htree, 1, Ftree.SELECT_ON); find_node := Ftree.Find_Tree_Node(HTREE, :FIND_PROJECT,Ftree.FIND_NEXT_CHILD,Ftree.NODE_VALUE, Ftree.ROOT_NODE,Ftree.ROOT_NODE); IF NOT Ftree.ID_NULL(find_node) then MESSAGE('ERROR'); else Ftree.Set_Tree_Node_Property(htree, find_node, Ftree.NODE_LABEL, :FIND_PROJECT); END IF; END; ظهر الخطا التالي FRM-74314 انا مش عارف هل كود البحث ده صح ولا خطأ ارجو الافادة ومرفق صورة الشجرة تقديم بلاغ
بتاريخ: 21 نوفمبر 20169 سنة comment_280010 جرب هذا الكود التالي في زر البحث DECLARE Htree item; Find_node Ftree.NODE; Start_node Ftree.NODE; BEGIN Htree:=FIND_ITEM('TREE_NAME'); Start_node:=NVL(Ftree.GET_TREE_SELECTION(Htree,1), Ftree.ROOT_NODE); Find_node:=Ftree.FIND_TREE_NODE(Htree,'%'||:black_name.item_name||'%', Ftree.FIND_NEXT, Ftree.node_label, Ftree.ROOT_NODE, start_node); IF NOT Ftree.ID_null(Find_node) THEN Ftree.SET_TREE_SELECTION(Htree,Find_node,Ftree.SELECT_NO); else start_node:=Ftree.root_node; MESSAGE(''); RAISE FORM_TRIGGER_FAILURE; END IF; END; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.