تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] ملأ الكومبوبكس اثناء الكتابة عليه و items تأخذ من البحث
#1
السلام عليكم 
كيف حال الجميع ؟
كيف يمكنني ان املأ الكومبوبكس اثناء الكتابة عليه حيث كل ما اضغط على حرف يقوم بعملية البحث و في نفس الوقت يقوم بحذف نتائج البحث  القديمة و يملأ الجديدة
لقد استعملت التالي لكن لم يعطني النتيجة المرجوة حيث يقوم بتكرار items  في كل مرة 
كود :
Me.Nom_pBindingSource.Filter = "nom_p LIKE '%" & Me.ComboBox1.Text.Trim & "%'"
       For fil = 0 To Me.Nom_pBindingSource.Count - 1
           Me.ComboBox1.Items.Add(Me.Nom_pBindingSource(fil)("nom_p"))
Next
الرد
تم الشكر بواسطة:
#2
قمت بإضافة الكود التالي بعد عملية الفلترة لكنه لم ينجح الامر 
كود :
Me.ComboBox1.Items.Clear()
الرد
تم الشكر بواسطة:
#3
وعليكم السلام ورحمة الله وبركاته

كل ما عليك استخدام الكود بهذا الشكل
كود :
       Nom_pBindingSource.Filter = "nom_p LIKE '%" & Me.ComboBox1.Text.Trim & "%'"
       ComboBox1.Items.Clear()
       For fil = 0 To Me.Nom_pBindingSource.Count - 1
           ComboBox1.Items.Add(Nom_pBindingSource(fil)("nom_p"))
       Next

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة:
#4
هل تقصد الاكمال التلقائى للبيانات المحملة فى الكمبوبوكس ؟
الرد
تم الشكر بواسطة: عابر سبيل 2 , عابر سبيل 2
#5
اخي elgokre شكرا على مرورك العطر
لكن الكود لم ينجح معي بهذه الطريقة لانه يقوم بحذف التكست الموجود داخل الكومبوبكس و لا يظهر النافذة المنسدلة للاكمال التلقائي

استاذ mero5000 نعم الاكمال التلقائي للبيانات لكن بشرط 
الكومبوبكس لا يمتلأ حتى اقوم بالكتابة عليه و كلما اضغط على حرف تبدأ عملية البحث عن السجلات  و من ثم يُملأ الكومبوبكس بنتيجة البحث حتى يتم ايجاد السجل المراد...ارجوا اني قربت لك الفكرة
الرد
تم الشكر بواسطة:
#6
(30-08-18, 03:45 PM)larbihamri كتب : اخي elgokre شكرا على مرورك العطر
لكن الكود لم ينجح معي بهذه الطريقة لانه يقوم بحذف التكست الموجود داخل الكومبوبكس و لا يظهر النافذة المنسدلة للاكمال التلقائي

استاذ mero5000 نعم الاكمال التلقائي للبيانات لكن بشرط 
الكومبوبكس لا يمتلأ حتى اقوم بالكتابة عليه و كلما اضغط على حرف تبدأ عملية البحث عن السجلات  و من ثم يُملأ الكومبوبكس بنتيجة البحث حتى يتم ايجاد السجل المراد...ارجوا اني قربت لك الفكرة

بعد وضوع ما تريده



فى هذه الحالة انت لا تحتاج الى عملية تفريغ اى لا تحتاج الى هذا السطر
كود :
      ComboBox1.Items.Clear()

كل ما عليك فعله التالى
فى حدث KeyDown لما تقوم به عند الكتابة

كل ما عليك ان تجعل كود البحث بداخله بهذا الشكل
كود :
If e.KeyCode = Keys.Enter Then
      Nom_pBindingSource.Filter = "nom_p LIKE '%" & Me.ComboBox1.Text.Trim & "%'"
      For fil = 0 To Me.Nom_pBindingSource.Count - 1
          ComboBox1.Items.Add(Nom_pBindingSource(fil)("nom_p"))
      Next
end if

وبكده عند اتمام الانتهاء من الكتابة فقط اضغط Enter
وستجد انه قام ببداء البحث وقائم باضافة النتائج الى الكمبو

اتمنى ان تكون الفكرة مبسطة ووضحة لك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: عابر سبيل 2 , عابر سبيل 2 , larbihamri , mero5000
#7
اخي elgokre
الفكرة التي في راسي انني لا اضغط على زر الانتر كل ما انتهي من الكتابة
اريد ان يقوم بالبحث و ملا نتائج البحث تزامنا مع عملية الكتابة 
لقد جربت الكود في حدث TextChanged و عمل الكود بطريقة جميلة
لكن المشكلة التي ظهرت من جديد هي انه عند الضغط على زر backe space و مسح كل التكست الخاص بالكومبو بكس يمتلأ الكومبوبكس بكل السجلات الموجودة في جدول قاعدة البيانات كما ان لو كانت الكومبوبكس مفتوحة و اردت الكتابة فانه يظهر نافذة اخرى فوق تلك المفتوحة
الرد
تم الشكر بواسطة:
#8


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

اقصد كودك هذا كاملا بميثود  فى اللود فروم
كود :
Me.Nom_pBindingSource.Filter = "nom_p LIKE '%" & Me.ComboBox1.Text.Trim & "%'"
الرد
تم الشكر بواسطة: عابر سبيل 2 , عابر سبيل 2 , elgokr , larbihamri
#9
(30-08-18, 05:08 PM)larbihamri كتب : اخي elgokre
الفكرة التي في راسي انني لا اضغط على زر الانتر كل ما انتهي من الكتابة
اريد ان يقوم بالبحث و ملا نتائج البحث تزامنا مع عملية الكتابة 
لقد جربت الكود في حدث TextChanged و عمل الكود بطريقة جميلة
لكن المشكلة التي ظهرت من جديد هي انه عند الضغط على زر backe space و مسح كل التكست الخاص بالكومبو بكس يمتلأ الكومبوبكس بكل السجلات الموجودة في جدول قاعدة البيانات كما ان لو كانت الكومبوبكس مفتوحة و اردت الكتابة فانه يظهر نافذة اخرى فوق تلك المفتوحة


نعم اخى الفاضل عند مسح المحتوى يقوم بالتفريغ واعادة جميع الاستعلام

والسبب ان كل ضغطة بزر BackSpace تعتبر متغير فى حروف الكتابة ومنها يقوم باعادة الاستعلام مجدداً

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

وعلى حسب ما فهمته انك تريد عرض جميع محتوى فى الكمبو بكس
ولكن عند الكتابة تقوم بعرض بعض الاسماء بناءاً على الحروف المدخلة
خلاف ان عملية الاستعلام تقوم بنفس الفكرة 
لكن يمكنك تطبيق ايضاً حل الاخ mero5000 
فهى الانسب ايضاً والافضل حيث لا تحتاج لعمل اى كود

واتمنى توضيح الصورة الكاملة لما تريد فعله حتوى توضح لنا حتى نضع الحل الماسب لذلك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: larbihamri , larbihamri
#10
الفكرة كالأتي :
الكومبوبكس يكون فارغا لا يوجد فيه اي item
عند الكتابة عليه تبدأ عملية البحث بناءا الحروف المدخلة و في نفس الوقت يتم ملأ الكومبوبكس بنتيجة البحث عند الضغط على كل حرف
 هذا الكود يعمل بطريقة جيدة  في حدث TextChanged
كود :
Nom_pBindingSource.Filter = "nom_p LIKE '%" & Me.ComboBox1.Text.Trim & "%'"
     For fil = 0 To Me.Nom_pBindingSource.Count - 1
         ComboBox1.Items.Add(Nom_pBindingSource(fil)("nom_p"))
     Next

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

و عندما اقوم بالكتابة و النافذة منسدلة تظهر لي نافذتين كما في الصورة 
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طريقة البحث ابو يوسف النواوي 2 1 49 منذ 44 دقيقة مضت
آخر رد: Awad Issa
  [VB.NET] جمع قيمة اثناء عملية تحديث البيانات محمد اسماعيل 0 34 14-12-18, 07:32 PM
آخر رد: محمد اسماعيل
  [سؤال] كيف يتم البحث عن شاشة بالفعل تعمل وتفعيلها لتصبح فوق الجميع dametucorazon 3 83 10-12-18, 05:47 AM
آخر رد: rmnr
  سؤال بخصوص البحث باستخدام التاريخ عن طريق WebService masry4u 3 79 08-12-18, 08:36 PM
آخر رد: masry4u
  مشكلة ال common items غير ظاهر new_programer 6 143 08-12-18, 03:48 AM
آخر رد: asemshahen5
  سؤال بخصوص الكتابة داخل داتا جريد احمد خطاب 3 86 05-12-18, 11:35 AM
آخر رد: احمد خطاب
  البحث داخل الجريد mmali127 4 111 27-11-18, 09:32 AM
آخر رد: mmali127
  [VB.NET] بعد برمجة البرنامج البحث بيت تاريخين يعمل علي جهازي ولا يعمل عند العميل shoma79 3 117 27-11-18, 05:25 AM
آخر رد: shoma79
  البحث بالرقم و بالاسم محمد خيري 4 183 22-11-18, 11:11 PM
آخر رد: محمد خيري
  ضبط وضع الكتابة داخل الليست بوكس ابو روضة 4 127 13-11-18, 02:23 AM
آخر رد: ابو روضة

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم