![]() |
|
[VB.NET] إضافة فروع إلى TreeView - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] إضافة فروع إلى TreeView (/showthread.php?tid=35560) الصفحات:
1
2
|
إضافة فروع إلى TreeView - freehego - 09-07-20 السلام عليكم أهل المنتدى الكرام عندى مشكلة لم أجد لها حلاً رغم كثرة البحث عبر الأنترنت وهى باختصار أننى أعمل على مشروع محاسبى وعندى فورم به شجرة الحسابات TreeView وأقوم باستدعاء البيانات من الداتا بيز بسهولة وعمليات الحفظ والحذف كذلك والترى فيو يستقى معلوماته من جدول Accounts من خلال قاعدة بيانات Access 2010 ولكن المشكلة أننى منشئ جدول يسمى Charts وهو عبارة عن جدول مستويات الحسابات من L1 حتى L9 بحيث يكون للمستخدم الحرية فى إدخال عدد الديجيت لكل مستوى من المستويات السابقة وعليه أريد إضافة النود الجديد أوتوماتيك طبقاً لاختيار المستخدم من الترى فيو سواء اختار نود رئيسى أو نود فرعى فيقوم البرنامج بالنظر فى جدول Charts وتحديد أى مستوى هو وعليه يتم إضافة النود الجديد بترتيبه طبقاً لل Parent أرفقت برنامج مصغر للمطلوب للمعلومة قمت بتحويل قاعدة البيانات إلى تنسيق Access 2003 RE: إضافة فروع إلى TreeView - freehego - 09-07-20 هل يوجد شئ غير مفهوم من طلبى لأقوم بتوضيحه RE: إضافة فروع إلى TreeView - Mohamad Anan - 10-07-20 و عليكم السلام و رحمة الله و بركاته المثال المعدل في المرفقات [attachment=25222] RE: إضافة فروع إلى TreeView - freehego - 10-07-20 (10-07-20, 05:54 AM)Mohamad Anan كتب : و عليكم السلام و رحمة الله و بركاته أشكرك جزيلا اخى على مجهودك ولكن للأسف لم يزبط معى حيث أن الأكواد تعمل فقط مع الجذور(أى الحسابات التى لها أبناء) ولكن عند إضافة أبن لأى جذر تظهر رسالة خطأ "Conversion from type 'DBNull' to type 'String' is not valid." وجرب بنفسك إضافة مثلا نوع حساب جديد تحت بنك القاهرة حساب مرتبات وليكن أسمه جارى مرتبات فلن يقبل ويظهر الخطأ السابق ، كذلك أغفلت فى الأكواد التحقق من مستوى الحساب من خلال جدول Chart وهو المعيار الرئيسى للمضاهاة عند إضافة حساب جديد سواء أكان أب أو أبن أو حفيد عذراً أخى وفى الأخير أشكرك مرة أخرى على تعبك RE: إضافة فروع إلى TreeView - ابراهيم ايبو - 10-07-20 السلام عليكم اخي الكريم مع جزيل الشكر للاخ محمد عنان لمساعدته في الاجابة اخي الكريم البرنامج شغال بعد تعديل الاخ محمد وهذه صورة من اضافة نقظة جديدة وللامانة جربت كل المستويات يبدو ان لديك مشكلة ما لا اعرف RE: إضافة فروع إلى TreeView - Mohamad Anan - 10-07-20 (10-07-20, 09:15 PM)freehego كتب :مرحبا أخي الكريم(10-07-20, 05:54 AM)Mohamad Anan كتب : و عليكم السلام و رحمة الله و بركاته بداية الشكر للأستاذ ابراهيم على مروره الكريم أخي كلامك صحيح تماما لأن تحليل برنامج لمبرمج آخر أصعب من برمجته من الصفر أسماء الحقول عندك غير واضحة و غير معبرة عن محتواها أخذت القيم التي وضعتها حضرتك في ادوات النصوص و استخدمت حقولها فقط لإضافة سجل جديد الترقيم التلقائي لكود الفرع الجديد يعتمد على أعلى كود للأبناء مع اضافة 1 وطبعا سيحدث خطأ عند عدم وجود أبناء و لو كان ترقيم تلقائي سيحدث تعارض مثلا كود 111 هل هو 11 و 1 او 1 و 11 مهمتك معالجة هذه الامور و منع التكرار لرمز الحساب بالكود لأنك تعتمد بالربط على الرمز و لا تعتمد على معرف ID اذا تريد ممكن ارفقلك شجرة لا متنهاية بجدول واحد فقط فيه 4 حقول RE: إضافة فروع إلى TreeView - ابراهيم ايبو - 10-07-20 السلام عليكم ورحمةالله وبركاته اخي محمد فعلا انا لم انتبه الى هذه الجزئية في حال لايوجد ابناء ولكن الا يمكننا التحقق اولا من وجود ابناء فان وجد يمكننا الاضافة من الرقم الاكبر +1 وان لم يكن له ابناء نأخذ مرتبة الاب نفسه وضع لها صفر او واحد حسب طريقة الترقيم RE: إضافة فروع إلى TreeView - freehego - 10-07-20 (10-07-20, 10:02 PM)ابراهيم ايبو كتب : السلام عليكم ورحمةالله وبركاته اشكرك أخى محمد وأخى إبراهيم ,احب أن أقتبس جملة من كلام الأخ إبراهيم مع التعديل ان سمح لى وهى تلخص ما أريد " الاضافة من الرقم الاكبر +1" ولكن أنا أريد تعديلها لتكون " الاضافة من الرقم الاكبر +مستوى الحساب طبقاً لجدول Chart" حيث أن الإضافة تكون ليست +1 وإنما تكون حسب جدول المستويات فمن الممكن أن تكون +1 أو +2 أو +3 ...الخ RE: إضافة فروع إلى TreeView - Mohamad Anan - 10-07-20 (10-07-20, 10:02 PM)ابراهيم ايبو كتب : السلام عليكم ورحمةالله وبركاته و عليكم السلام و رحمة الله و بركاته مرحبا استاذ ابراهيم أخي الكريم عادة يطلب من المستخدم ادخال الرمز و يكون الحقل اختياري في حال ترك المستخدم مكان الرمز فارغ او كرر رمز مستخدم تعود الخيارات للمبرمج عادة من المستوى الثالث تكون الزيادة لاول سجل 100 او 1 لا فرق و الخطأ يحدث من استعلام عن اعلى قيمة لحقل الرمز عندما يتطابق رمز الاب اذا كانت النتيجة DBNull يمكن ترميز اول حقل عوضا عن زيادة نتيجة الاستعلام RE: إضافة فروع إلى TreeView - freehego - 10-07-20 أنا حاولت بكتابة الكود التالى ولكن لإضافة الحسابات بطريقة يدوية وهى فى حدث المغادرة لتكست كود الحساب كود : Private Sub AccID_Leave(sender As Object, e As EventArgs) Handles AccID.Leave |