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

سؤال:اضافة قيمة الcomboBox مربوط بقاعدة بيانات

مغلق
بدأه Romantic_touch في 27 سبتمبر 2005 · 8 رد · 869 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني الكرام لدي سؤال وهو:

عندي combobox عند تحميل الform يتعبى من قاعدة البيانات عن طريق dataset ويعرض اخر عشر صفوف في قاعدة البيانات

ولكن العميل قد لا يجد مايريده في اخر عشرة كأن يريد شي من المعلومات القديمة ولذلك عملت له زر بحث بجوار الcomboBox يقوم به بالبحث عن طريق نموذج اخر يفتح كـshowdialog علما بان النموذج الأول معرف في الmodule يعني يمكن الوصول الى محتوياته عن طريق نموذج البحث ولكن المشكلة هيه كيف اقدر ان اضيف القيمة الظاهره الى الـcomboBox علما ان الكمبوبكس به diplaymember و valuemember يعني انا اريد ان اضيف الحقل بحيث يظهر الاسم ويكون قيمته التي تعود الى قاعدة البيانات هي رقم.

اتمنى ان تكون وصلة المعلومة.

تم تعديل هذه المشاركة بواسطة crazy-man في 27 سبتمبر 2005 في 14:31

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#2

ممكن توضح السؤال بصيغة اخر مع ارفاق الملف اللي فيه المشكلة

158.gif

هناك فرق بين أن تكبر بالعمر

، و أن تكبر بالعقل
فالأولى ، إجباري
، والثانية اختياري .."
 
 

164684_514411088579476_442405016_n.jpg

#3

الملف هو جزء من مشروع كبير يعني صعب ارفاقه

ولكن سأعيد لك صياغة السؤال

لدي كومبوبكس يتم تعبئة في الحدث form_load

يحتوي هذا الكومبوبكس على اسماء في خانة display member وعلى رقم الـprimary key في خانة الـvalue member

تتم اضافة اخر عشرة اسماء موجودة في قاعدة البيانات فقط.

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

الان بعد ان عثر على الاسم المطلوب اريد ان اضيف هذا الاسم الى الكومبوبكس المذكور اعلاه بحيث يضيف الاسم في الdisplay member ورقم الـpromary key في خانة الـvalue member بحيث عندما اعمل حفظ للنموذج يرسل الرقم الذي في الvalue member وليس الاسم وشكرا.

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#4

السلام عليكم

إنشئ StoredProcdure ويكون به ممرر لرقم الجدول المساعد كقيمة تجلب منه

ثم إجعل البحث عن القيمة عبر هذا الـ sp ليقوم هو بضم القيمة في جملة الاسعلام مع اخر عشرة صفوف

الادوات المتطلبة كالتالي عنصر اتصال , DataAdapter وSQL query و واحد parameter لأجل الـ StoredProcdure

ملاحظة : هذه الطريقة تجبر المستخدم على تحريك الفأرة أكثر من مرة للوصول لقيمةٍ ما. !!

هنالك ما هو أفضل منها بأن تجلب كل القيم في القائمة المنسدلة مع إمكانية البحث و التكميل التلقائي للقيم وكذلك التحقق من

القيمة المكتوبة من قبل المستخدم (في حالة أن القيمة غير مدرجة في الجدول المساعد)

إعتني أحسن الله إليك في ما يعرف بـالـ Usability و الـ Accessiblity بشأن المستخدم (الضحية)

بالتوفيق أخي الكريم

في المثال يتضح المقال

#5

الأخ الخبير الغملاسي الف شكر لتعليقك ولكن .....

انا لا يمكن ان اضيف اي تعديل على قاعدة البيانات لانها منتشرة لأكثر من 600 عميل ولا يمكن ان اذهب لكل عميل لعمل البروسيجر ولكن ما اريده هو ماهو الكود الخاص

باضافة (قيمة الى displayMember) و (قيمة الى Value member) اضافية بعد ما قد تم تعبئتها بdataset اثناء الحدث load للنموذج!!!

يعني فرضا ان الكومبوب بكس به الاتي

Dispaly - value

1200 محمد

1201 علي

1202 عمر

1203 سعيد

هذه القيم السابقة فرضا تدخل الى الكومبوبكس عن طريق الداتا ست

وانا اريد ان ادخل قيمة جديدة فرضا

1300 عثمان

عن طريق كود

لان الكود الذي اعرفه هو

comboBoxName.item.add("عثمان")

هذا والله الموفق

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#6

السلام عليكم

عزيزي أحسن الله إليك , أولاً لابد أن تعرف أن كل من DisplayMember و ValueMember

أنهما من فئة الخواص Properties وهذا يعني أنهما لا يملكان القيمة الحقيقية,

لذلك التفكير بإسناد قيمة لإحداهما كرقم أو نص (تفكير غير منطقي) .

لان الخصائص عبارة عن وسائط للمتغيرات المحلية ,,, حتى لا نذهب بعيداً عن صلب الموضوع.

عموماً هنالك حل أخر. بأن تقوم بإنشاء جدول في أثناء التشغيل logical table at runtime هذا الجدول سيتم تعبئته

من الجدول المساعد بالصفوف العشرة الاخيرة, ثم بعد عملية البحث , عن قيمة غير متوفرة فيه سيتم جلبها من الجدول المساعد

و قم بضم هذه القيمة عن طريق مثلاً Data Row في الجدول المنطقي المنشئ أثناء التشغيل ,

وبما أن الارتباط Binding مع هذا الجدول في كِلا الخاصيتين فإن القيمة ستظهر مباشرتاً بعد عملية الاضافة.

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#7

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

فهمت ماتقصد وسأحاول بخبرتي الصغيرة تنفيذه ومن ثم اطلاعك على ما توصلت اليه.

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#8

الاستاذ غملاسي

طبعا انا فاهم انه كل من DisplayMember و ValueMember أنهما من فئة الخواص Properties وهذا يعني أنهما لا يملكان القيمة الحقيقية

ولكن اقصد اني اريد ان اضيف قيمة جديدة للcomboBox واريد ان يكون لها قيمة في displayMember و valuemember وليس ان اغيرقيمتهما الحقيقية

وحاولت بطريقة الdatatable بس ماعرفت بالزبط كيف الموضوع !!

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#9

الحمدلله اني سويتها وزبطت العملية

والف الف الف شكر لك ياغملاسي الله يكتر من امثالك

تم تعديل هذه المشاركة بواسطة Romantic_touch في 5 أكتوبر 2005 في 03:36

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…