الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية اضافة ، حذف ، تعديل على Node في Treeview

بدأه general2006 في 15 يوليو 2009 · 11 رد · 3,723 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

احتاح شرح تفصيلي عن كيفية عمل node في treeview

وكيفية عمل الاضافة والحذف والتعديل عليها بحيث الادخال يكون اختياري وليس مخزن في جدول ونستعرضه وانما نقوم بالاضافة يدويا وتخزن في جدول وتعرض في الشجرة مع تفرعاتها

الحاجة الماسة لهذه الخاصية في عمل مشروع برمجي

وجزى الله خيرا من يتفضل بالاجابة

تم تعديل هذه المشاركة بواسطة general2006 في 15 يوليو 2009 في 19:54

#2

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

الا يوجد من يجيب على سؤالي

اين انت ياخبراء الفيجوال فوكس برو

vfpman

shawdow

عبدالمنعم محمد

16 متصفح للموضوع ولا يوجد من يرد عليه :wacko:

تم تعديل هذه المشاركة بواسطة general2006 في 16 يوليو 2009 في 19:36

#3

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

الظاهر الموضوع صعب جدا بحيث لايوجد من يستطيع الاجابة عليه او انا فقط من يطلع على المنتدى

ولكن لامستحيل ننتظر من يبادر بالاجابة عالموضوع ويفيدنا من معلوماته

#4

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

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

اخي الكريم

اود المساعدة لكن لا يمكنني الاجابة لأن المطلوب يتعلق ب sql

مكنني المساعدة بطريقة اخرى من دون استعمال sql

لإضافة في الجدول نستعمل هذا الكود

use table

append blank

replace champ1 with rvariable1

replace champ2 with rvariable2

replace champ3 with rvariable3

...

*--------------------------------

اما التعديل يكفي ان تبحث عن المعلومة في الجدول بواسطة seek

use table

seek index1

if found()

replace champ1 with rvariable1

replace champ2 with rvariable2

replace champ3 with rvariable3

endif

*---------------------------------

اما الحذف يكفي ان تبحث عن المعلومة في الجدول بواسطة seek

use table

seek index1

delete

pack

*-------------------------------------

<<--DON CORLEONNE-->>

#5

السلام عليكــم ورحمـة الله وبركاتــه ،،شكرا جزيلا اخي ياسين ولكني احتاج شرح تفصيلي لكيفية عمل الnode

بصورة مشابهة لما موجو في الصورة المرفقة

post-199670-1247934956_thumb.jpg

تم تعديل هذه المشاركة بواسطة general2006 في 18 يوليو 2009 في 19:40

#6

يعتمد هذا العنصر على متغيرين أساسين هما الأصل والفرع، والاصل طبعا عبارة عن ترقيم أو ترميز معين ومتميز لكل سجل، أما الفرع فيكون مرجعا لأحد الأصول وطبعا لا يوجد مشكلة في تكراره، والتالي مثال على كيفية ترتيب البيانات في الجدول (أو أي كان مصدر البيانات )

Key		Parent	Text
1		0		First
2		1		Second
3		1		Third
4		2		Forth
5		0		Fifth

وطبعا ستظهر البيانات في الشجرة على النحو التالي:

First
------ Second
----------- Forth
------ Third
Fifth

ببساطة فان عملية الترتيب تتم بناء على الفرع، فاذا كانت قيمة الفرع صفرا فان السجل سيعتبر أصلا...واذا كانت قيمة الفرع أكبر من صفر فان السجل سيعتبر فرعا

وكل ما تبقى سهل ( لذا لن أطيل ) فليس عليك سوى معرفة رقم الاصل ورقم الفرع عند اختيار أحد السجلات، ومن ثم الاعتماد على الكود في اضافة أو حذف او تعديل أحد السجلات

واليك الامثلة المرفقة.. أدرسها والباقي سهل .....

post-113506-1247965071_thumb.jpg

post-113506-1247965086_thumb.jpg

tree.rar

ولا تترد في طرح أي استفسار

مع التحية

وطول بالك يا جنرال :wink:

أستغفر الله العظيم و أتوب إليه

#7

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

شكرا جزيلا اخي shadowz وجزاك الله كل خير وزادك الله من العلم :D

هذا هوالذي كنت اريده واطلبه ولكني اريد ان تكمل معروفك معي بان تعدل لي عليه أذا أمكن بحيث :ـ

1- يكون ادخال اسم الاصل الجديد يدوي على الشاشة ويخزن اوتوماتيكيا في الجدول كأن يكون اسمه هو (قسم الحسابات) بدل ان يكون اسمه (اصل جديد) وليس كما يحدث في المثال الذي ارفقته

2- وهكذا الحال بالنسبة لفقرة (الفرع الجديد) وفقرة تعديل وصف السجل

لان هذا ضروري جدا

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

وتقبل خالص تحياتي وامتناني لك

اختك في الله

general2006

تم تعديل هذه المشاركة بواسطة general2006 في 19 يوليو 2009 في 13:47

#8

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

الاخت الكريمة general2006

كل ما عليك فعله هو اضافة TextBox للنموذج واستبدال القيمة المراد تغييرها بقيمة هذا الـ TextBox

واليك المثال بعد التعديل

tree.rar

مع التحية

أستغفر الله العظيم و أتوب إليه

#9

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

، اخي الكريم shadowz

:D هو هذا المطلوب بوركت وجزيت خيرا

تحياتي

post-199670-1248091033_thumb.gif

تم تعديل هذه المشاركة بواسطة general2006 في 20 يوليو 2009 في 14:52

#10

الاخت الكريمة general2006 ..... العفو

Yassin_VFP9 كتب:
بســم الله الـرحمــن الرحيــم

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

اخي الكريم

اود المساعدة لكن لا يمكنني الاجابة لأن المطلوب يتعلق ب sql

مكنني المساعدة بطريقة اخرى من دون استعمال sql

لإضافة في الجدول نستعمل هذا الكود

use table

append blank

replace champ1 with rvariable1

replace champ2 with rvariable2

replace champ3 with rvariable3

...

*--------------------------------

اما التعديل يكفي ان تبحث عن المعلومة في الجدول بواسطة seek

use table

seek index1

if found()

replace champ1 with rvariable1

replace champ2 with rvariable2

replace champ3 with rvariable3

endif

*---------------------------------

اما الحذف يكفي ان تبحث عن المعلومة في الجدول بواسطة seek

use table

seek index1

delete

pack

*-------------------------------------

اخي الكريم Yassin_VFP9

طبعا لاخلاف على صحة طريقة الاضافة والتعديل والحذف التي ذكرتها...

ولكن لماذا لا تتعمق في Sql Command فأظن أنها بالنهاية ستكون خيارك الافضل في التعامل مع البيانات، حيث ستلمس عند استخدامها مدى بساطتها ومقدار فائدتها

واليك طريقة Sql Command حسب المثال الذي وضعته

الاضافة

Insert into Table (Champ1, Champ2, Champ3) values ( rVariable1, rVariable2, rVariable3 )

التعديل

Update Table Set Table.Champ1 = rVariable1 , Table.Champ2=rVariable2 , Table.Champ3=rVariable3) Where Index1 = 10

الحذف

Select Table1
Delete for Index1 = 10

واترك لك المقارنة بين الطريقتين

مع التحية

أستغفر الله العظيم و أتوب إليه

#11

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

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

الاضافة

Insert into Table (Champ1, Champ2, Champ3) values ( rVariable1, rVariable2, rVariable3 )

التعديل

Update Table Set Table.Champ1 = rVariable1 , Table.Champ2=rVariable2 , Table.Champ3=rVariable3) Where Index1 = 10

الحذف

Select Table1
Delete for Index1 = 10

واترك لك المقارنة بين الطريقتين

مع التحية

<<--DON CORLEONNE-->>

#12

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

العفو أخي العزيز.. كان هذا للفائدة فقط

ولا تنسى ايضا فائدة الـ Sql Command في عمليات البحث والفرز وامكانية تخزين النتائج في جدول مؤقت Cursor لاستخدامها بالتقارير بشكل خاص كمصدر

SELECT * FROM Table1 Where index1 > 10 INTO CURSOR MyCursor

مع التحية

أستغفر الله العظيم و أتوب إليه

مواضيع مشابهة