الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

أرجو المساعده فى عمل هذه Tree

Featured Replies

بتاريخ:

[

السلام عليكم ورحمة الله وبركاته


أرجو المساعده فى عمل TREE تكون الرؤس فيها هى اسماء الإدارات فى جدول DEPT
أما الافرع فتكون الموظفين الموجودين فى كل إدارة

وشكرا

تم تعديل بواسطة Mala_Moh

  • الردود 29
  • المشاهدات 14.6k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

Most Popular Posts

  • بسم الله الرحمن الرحيم السلام عليكم و رحمه الله و بركاته ان شاء الله ربى يوفقنى فى الشرح انا مش بعرف اشرح كويس انما حشرحها و بالصور و اتمنى انك تستفيد كل ما فى الامر انك حتنشىء شجره حتحتوى على اتن

  • السلام عليكم ورحمة الله وبركاتة الف شكر لك ياخى ياريت توضح اكثر كيف اعملها واغير الاسماء الموجودة فى الشجرة

  • بسم الله الرحمن الرحيم   السلام عليكم و رحمه الله و بركاته ان شاء الله ربى يوفقنى فى الشرح انا مش بعرف اشرح كويس انما حشرحها و بالصور و اتمنى انك تستفيد كل ما فى الامر انك حتنشىء شجره حتحتوى على ا

بتاريخ:

بسم الله الرحمن الرحيم

السلام عليكم و رحمه الله و بركاته
ان شاء الله ربى يوفقنى فى الشرح انا مش بعرف اشرح كويس انما حشرحها و بالصور و اتمنى انك تستفيد
كل ما فى الامر انك حتنشىء شجره حتحتوى على اتنين كرسر و احد حيجيب الادارات و ده حيكون هو الــ parent يعنى الرئيسى و التانى حيكون خاص بالموظفين و ده حيكون الفرعى و حندرج الكرسر الفرعى داخل الرئيسى ذى ما حنشوف بالصور و الاكواد
و خلينا نزود كمان جزء انه لما يختار اسم الموظف من الشجره يحصل على بياناته

توكلت على الله

1- ننشأ بلوك database block على جدول الموظفين و نختار الاعمده الاتيه وهى empno , job,sal,comm يعنى ممكن تقول كل الاعمده عدا الاسم كما بالصوره
52g7p20.jpg

2- نقوم بإنشاء كنترول بلوك و نضع عليه Tree Item و نسميها Tree كما هو موضح بالصوره
2ebc0i0.jpg

3- نقوم بإنشاء كنترول بلوك اخر و نسميه value وننشأ فيه تكست ايتم و نسميه Val_from_tree و ده اللى حنرجع فيه القيمه اللى جايه من الترى علشان نستخدمها فى where condition اللى حتعمل ريستركت للبيانات اللى حتتعرض فى الداتا بيز بلوك
كما بالصوره
4pwdver.jpg

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 و تشغيل

4lzxjes.jpg

وتم ارفاق الملف الخاص بها

TREE.zip

بتاريخ:

الأخ / Fabled Warrior

عليكم السلام ورحمة الله

شكرا لك .. على الجهد المتميز
شكرا لك .. على طريقة واسلوب العرض باستخدام الصور

ننتظر منك مشاركات متميزه اخرى

جزاك الله خيرا

بتاريخ:

اسعدنى مرورك يا امجد و سعيد ان الشرح نال اعجابكم و انه استفاد منه احد

بتاريخ:

جهد يستحق الشكر
وشكرا
ميجا

بتاريخ:

يا أخي شكرا علي المساهمه المتميزه منك والله يكتر من أمثالك

  • بعد 3 أسابيع...
بتاريخ:

شكرا لك وانا اؤيد استخدام الصور في الشرح لان المعلومه توصل بسهوله

بتاريخ:

السلام عليكم ورحمة الله وبركاتة
الف شكر لك ياخى ياريت توضح اكثر كيف اعملها واغير الاسماء الموجودة فى الشجرة

بتاريخ:
  • كاتب الموضوع

متشكرين جدا يا اخ Fabled Warrior على الشرح وجزاك الله كل خير

بتاريخ:

و الله جهد رائع و مثال ممتاز ......... بارك الله فيك و جعله فى ميزان حسناتك

بتاريخ:

الله يفتح عليك
شكرا جزيلا اخي
جهد رائع

  • بعد 3 أسابيع...
بتاريخ:

جزاك الله خيرا اخي الكريم على المثال الرائع

بتاريخ:

جزاك الله خيرا ياأخ Fabled Warrior على هذا التوضيح الرائع

  • بعد 4 أسابيع...
بتاريخ:

جزاك الله خيرا خي الكريم

  • بعد 3 أسابيع...
بتاريخ:

جزاك الله خيرا ياأخ Fabled Warrior على هذا التوضيح الرائع وشكرا على المجهود

  • بعد 2 شهور...
بتاريخ:

اسأل الله أن يبارك فيكم جميعا و في علمكم

تم تعديل بواسطة الاسمري

بتاريخ:

جزاكم الله خيرا

  • بعد 1 سنة...
بتاريخ:

بصراحة يا جماعة دة شرح أكثر من رائع
لدرجة انى مش عارف أقول اية ولا اية

  • بعد 5 سنة...
بتاريخ:

جزاك الله خير افضل شرح 

بتاريخ:

جزاك الله خير

ومشكوووووور الله يوفقك ويزيدك من علمه

  • بعد 2 أسابيع...
بتاريخ:

بسم الله ما شاء الله جهد مشكور

  • بعد 3 شهور...
بتاريخ:

بسم الله الرحمن الرحيم

 

السلام عليكم و رحمه الله و بركاته

ان شاء الله ربى يوفقنى فى الشرح انا مش بعرف اشرح كويس انما حشرحها و بالصور و اتمنى انك تستفيد

كل ما فى الامر انك حتنشىء شجره حتحتوى على اتنين كرسر و احد حيجيب الادارات و ده حيكون هو الــ parent يعنى الرئيسى و التانى حيكون خاص بالموظفين و ده حيكون الفرعى و حندرج الكرسر الفرعى داخل الرئيسى ذى ما حنشوف بالصور و الاكواد

و خلينا نزود كمان جزء انه لما يختار اسم الموظف من الشجره يحصل على بياناته

 

توكلت على الله

 

1- ننشأ بلوك database block على جدول الموظفين و نختار الاعمده الاتيه وهى empno , job,sal,comm يعنى ممكن تقول كل الاعمده عدا الاسم كما بالصوره

52g7p20.jpg

 

2- نقوم بإنشاء كنترول بلوك و نضع عليه Tree Item و نسميها Tree كما هو موضح بالصوره

2ebc0i0.jpg

 

3- نقوم بإنشاء كنترول بلوك اخر و نسميه value وننشأ فيه تكست ايتم و نسميه Val_from_tree و ده اللى حنرجع فيه القيمه اللى جايه من الترى علشان نستخدمها فى where condition اللى حتعمل ريستركت للبيانات اللى حتتعرض فى الداتا بيز بلوك

كما بالصوره

4pwdver.jpg

 

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 و تشغيل

 

4lzxjes.jpg

 

وتم ارفاق الملف الخاص بها

 

بتاريخ:

شكرا اشتغل المرفق لل tree ممكن مثال كيف نشغل بطريقه record group

بتاريخ:

شكرا اشتغل المرفق لل tree ممكن مثال كيف نشغل بطريقه record group

ياشباب عندي ملف   *.fmx  ممكن تحويله او ايجاد fmb.*.  هل هذا مستحيل

  • بعد 3 أسابيع...
بتاريخ:

شكرًا لك على هذا الشرح المتميز

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.