بتاريخ: 12 أكتوبر 20169 سنة comment_278791 السلام عليكم ورحمة الله وبركاتة الف شكر لك ياخى ياريت توضح اكثر كيف اعملها واغير الاسماء الموجودة فى الشجرة تقديم بلاغ
بتاريخ: 12 أكتوبر 20169 سنة comment_278792 بسم الله الرحمن الرحيم السلام عليكم و رحمه الله و بركاته ان شاء الله ربى يوفقنى فى الشرح انا مش بعرف اشرح كويس انما حشرحها و بالصور و اتمنى انك تستفيد كل ما فى الامر انك حتنشىء شجره حتحتوى على اتنين كرسر و احد حيجيب الادارات و ده حيكون هو الــ parent يعنى الرئيسى و التانى حيكون خاص بالموظفين و ده حيكون الفرعى و حندرج الكرسر الفرعى داخل الرئيسى ذى ما حنشوف بالصور و الاكواد و خلينا نزود كمان جزء انه لما يختار اسم الموظف من الشجره يحصل على بياناته توكلت على الله 1- ننشأ بلوك database block على جدول الموظفين و نختار الاعمده الاتيه وهى empno , job,sal,comm يعنى ممكن تقول كل الاعمده عدا الاسم كما بالصوره 2- نقوم بإنشاء كنترول بلوك و نضع عليه Tree Item و نسميها Tree كما هو موضح بالصوره 3- نقوم بإنشاء كنترول بلوك اخر و نسميه value وننشأ فيه تكست ايتم و نسميه Val_from_tree و ده اللى حنرجع فيه القيمه اللى جايه من الترى علشان نستخدمها فى where condition اللى حتعمل ريستركت للبيانات اللى حتتعرض فى الداتا بيز بلوك كما بالصوره 4- بعد ذلك نكتب الكود هذا على تريجر when new form instance declare cursor dept_cur is select deptno , dname from dept; cursor emp_cur (N number) is Select empno , ename from emp where deptno=N; Htree item; parent_node varchar2(200); child_node varchar2(200); begin Htree:=Find_item('tree'); For dept_R in Dept_cur loop parent_node:=Ftree.Add_Tree_Node(htree, Ftree.ROOT_NODE, Ftree.PARENT_OFFSET, Ftree.LAST_CHILD, Ftree.EXPANDED_NODE, dept_r.deptno||' '||dept_r.dname, 'insrec', dept_r.deptno); Htree:=Find_item('tree'); For emp_R in emp_cur(dept_r.deptno) loop child_node:=Ftree.Add_Tree_Node(htree, parent_node, Ftree.PARENT_OFFSET, Ftree.LAST_CHILD, Ftree.EXPANDED_NODE, emp_r.empno||' '||emp_r.ename, 'insrec', emp_r.empno); end loop; end loop; end; 5- نكتب التريجر هذا على الترى when tree node selected declare Value_node varchar2(50); htree item; begin htree:=find_item('tree'); Value_node := Ftree.GET_TREE_NODE_PROPERTY(htree, :system.trigger_node, Ftree.node_value); :val_from_tree:=value_node; set_block_property('emp',default_where,'empno='||:val_from_tree); go_block('emp'); execute_query; end; لتصبح بهذا الشكل بعد عمل compile و تشغيل وتم ارفاق الملف الخاص بها ممكن شرح الكود تقديم بلاغ
بتاريخ: 8 سبتمبر 20241 سنة comment_305975 السلام عليكم ..... لايمكن تتصور فرحتي وانا ارى النتيجه امامي واضحه وسهله وبدون مجهود كبير ... انت الذي بذلت مجهود كبير وافدتنا جميعا ومن خلالك تخلصت من عقبه كانت واقفه امامي لفتره طويله شاهدت فيها عشرات الفيديوهات في اليوتيوب ولم اصل الى نتيجه ... شكرا شكرا شكرا اتمنى لك التوفيق واسال الله ان يعطيك من فضله ويفرحك مثلما افرحتنا اتمنى نصر اصدقاء رقمي للواتس 00967733136192 - اليمن محمد العصامي تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.