الانتقال إلى المحتوى

اريد طريقه للترتيب فى ال tree


ramez_iskander

Recommended Posts

اريد ان اوجه الشكر لكل من يساهم فى هذا الموقه القوى.. لأنه يساعد فى حل الكشير من المشاكل الصعبه

المشكله لدى هى انى اريد الترتيب فى الtree
لكن لم اجد اى طريقه لذلك
برجاء ارسال الحل بأسرع الطرق الممكنه

و لكم جزيل الشكر

رابط هذا التعليق
شارك

شكرا علي ردك علي

وسف اعطيك الان كود خاص بالTree و كيفية عمل الها مع ترتيب البيانات بها

ملاحظة لقد اقطيت اسم للجدول Item_group

Declare
  htree         ITEM;
 qry           varchar2(500);
 icon          varchar2(200);
  icon2         varchar2(200);
  icon3         varchar2(200);
BEGIN htree := Find_Item('TREE_ORG.ORG');
     
    icon := get_icons_path||'\EXECUTE.ico';
		icon2:=get_icons_path||'\CLOSE.ico';
		icon3:=get_icons_path||'\em\em01.ico';
		

-- Find the tree itself.

	  qry:='select 1 state , level , group_name Lable ,  null icn , group_id DATA from item_group connect by prior group_code  = group_parent_code start with group_parent_code =1 order by group_parent_code,group_code';

  -- Populate the tree with data.

     ftree.set_Tree_property(htree,ftree.query_text,qry);

	  ftree.populate_tree(htree);
	  
END;



ارجو ان تفيدك هذة الاجابة

تم تعديل بواسطة hanyniazy
رابط هذا التعليق
شارك

  • بعد 5 شهور...

انا جربت هالطريقة في الشجرة اللي عندي واللي هي شجرة حسابات (الدليل المحاسبي) لكنها لم تعمل بالشكل المطلوب انا عندي الشجرة اصلا تاخذ البيانات من الداتابايس بس تاخذها كما هي كان تعطيني الحساب رقم 2 هو في الاول ورقم واحد بعده وهكذا المور ملخبطة جيت اسوي الترتيب حسب رقم الحساب المرجعي بعدين رقم الحساب لكنه اعطاني نتيجة غير متوقعة وهي انه اعطاني الchildفي البداية وبعده جا الparentوهذ خطأ.
اضطريت اسفا وعلى مضض انو اكون جدول ثاني اسمه الحسابات المرتبة ومنه استقي بيانات الشجرة ومشيت الطريقة بس اعتقد مستقبلا بيكون في مشكلة في سرعة البرنامج اللي مسويه لانه يجب حذف جدول الحسابات وتكوينه مرة اخرى بشكل مرتب بعد كل ادخال. فلازم يكون هناك طريقة تعمل بشكل جديد في ترتيب البيانات في الشجرة او يكون هناك طريق في ادخال البيانات في الجدول وهي مرتبة اصلا حسب حقل معين مادري هذه الخاصية ممكنة في sql8i ارجو التعقيب والافادة

وهذه الجملة اللي انا مستخدمها

SELECT -1,Level, account_name, ' ', TO_CHAR(ACCOUNT_NO)
FROM ACCOUNTS
CONNECT BY PRIOR ACCOUNT_NO = ACCOUNT_REF
START WITH ACCOUNT_REF IS NULL
order by account_ref,account_no

طبعا بعد اضافة جملة الorder by اللي قالي عليها الاخ/hanyniazy
اخوكم

رابط هذا التعليق
شارك

  • بعد 2 شهور...

حاول ان تستخدم SIBLINGS فى order by clause
ليصبح query بالشكل التالى

SELECT -1,Level, account_name, ' ', TO_CHAR(ACCOUNT_NO)
FROM ACCOUNTS
CONNECT BY PRIOR ACCOUNT_NO = ACCOUNT_REF
START WITH ACCOUNT_REF IS NULL
order by SIBLINGS account_ref,account_no

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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