(17-12-21, 01:39 AM)معاند الحظ كتب : [ -> ]اخي ابو انس هل مشكلتك هي ان الاكمال التلقائي لايضهر العنصر الاكثر تطابقا في اعلى القائمة؟
ام ماذا لو سمحت
شكرا لك
انا قمت بارفاق مشروع من شغل الزميل ابراهيم ايبو تظهر قائمة الاكمال التلقائي عند كتابة اول حرف ولكن لا تظهر اذا كتبنا حرف من منتصف الكلمة
(17-12-21, 01:44 AM)سعود كتب : [ -> ]استخدم جملة For تمر على كل الصفوف وايضا استخدم
.Contains
شكرا لك
لا
لايمكن ذلك
اذا كنت تعتقد ان ذلك ممكن المثال موجود عند قم بالتعديل عليه او ارسل لنا الكود
طيب سأقول مشكلتي بالتفصيل
انا لدي برنامج محاسبة وببيعو شغال تمام
عند فتح فاتورة مثلا فاتورة مبيعات تستطيع اختيار اسم المادة بعدة طرق ومن بين هذه الطرق ان تقوم بكتابة اسم المادة مباشرة في العمود الخاص باسم المادة في الداتا جريد فيو ---- ولنفترض ان لدي المواد التالية (لابتوب توشبا كور3 - لابتوب اتش بي كور5 - ديل كور 7) طبعا هذا مثال
عند كتابة حرف اللام يظهر قائمة منسدلة تتحتوي اول مادتين لانهن يبدأن بحرف اللام
مطلبوب مني التعديل التالي
عند كتابة كلمة كور يجب ان تظهر المواد الثلاثة لانهن الثلاثة يحتوين كلمة كور
عند كتابة حرف لام يجب ان تظهر قائمة منسدلة تحتوي المواد الثلاثة لانهن يحتوين على حرف لام
انا لم استطع ايجاد طريقة ضمن autocomplet ولكن لا مشكلة لدي باي طريقة اخرى
مثلا ظهور ليست بوكس منبثق يحتوي اسماء المواد ولكن يجب ان يكون موقع الليست بوكس بنفس الموقع الذي تظهره ميزة autocomplet
(17-12-21, 02:06 AM)ابو انس كتب : [ -> ] (17-12-21, 01:44 AM)سعود كتب : [ -> ]استخدم جملة For تمر على كل الصفوف وايضا استخدم
.Contains
شكرا لك
لا
لايمكن ذلك
اذا كنت تعتقد ان ذلك ممكن المثال موجود عند قم بالتعديل عليه او ارسل لنا الكود
...........................................................
اذا كنت تبحث عن نص في قائمة ايا كانت مصدرها فتمر على كافة صفوفها وتشترط التضمين(كما اسميه)
خذ الفكرة و جربها كماتريد.
PHP كود :
Dim lst As New List(Of String)({"saud", "ali", "mady", "najeh", "aref", "saad", "mohammad", "amjad"})
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
For Each h As String In lst.Where(Function(a As String) (a.Contains(TextBox1.Text)))
ListBox1.Items.Add(h)
Next
End Sub
سعود شكرا لك هذا الكود رائع بقي لدي مشكلة وحيدة وهي اريد ان تظهر اداة listbox في مكان مناسب كما هو الحال في اوتوكومبليت
يعني في العمود الخاص بالمواد في الداتا جريد فيو قد اكتب في فاتورة واحدة 5 او 6 مواد او اكثر
يجب ان تظهر الليست بوكس في مكان مناسب لموقع الخلية التي اكتب بها او موقع مؤشر الكتابة
اخوي ابو انس
قمت باعادة تعديل المثال بخيث يمكن استخدام الاكمال التلقائي للتكست بوكس او الداتاجريد فيو
وايضا ارفقت معه فيديو للتوضيح اكثر جرب البرنامج واذا برضوه كان فيه مشكلة اتمنى تصور فيديو وترفقه في رد اذا حبيت
وللتاكيد وبعد التجربة اكثر من مرة فان المثال يعمل جيدا فيما خلا بعض الامور الصغيرة والتي اهمها انه لايدعم اللغة العربية
بصراحة لا ادري يمكن لاني وضعت ملف الاقتراجات في الريسورس
عموما اتمنى تجرب البرنامج وتبلغني بالنتيجة
تحميل البرنامج
[attachment=27400]
(17-12-21, 06:51 AM)معاند الحظ كتب : [ -> ]اخوي ابو انس
قمت باعادة تعديل المثال بخيث يمكن استخدام الاكمال التلقائي للتكست بوكس او الداتاجريد فيو
وايضا ارفقت معه فيديو للتوضيح اكثر جرب البرنامج واذا برضوه كان فيه مشكلة اتمنى تصور فيديو وترفقه في رد اذا حبيت
وللتاكيد وبعد التجربة اكثر من مرة فان المثال يعمل جيدا فيما خلا بعض الامور الصغيرة والتي اهمها انه لايدعم اللغة العربية
بصراحة لا ادري يمكن لاني وضعت ملف الاقتراجات في الريسورس
عموما اتمنى تجرب البرنامج وتبلغني بالنتيجة
تحميل البرنامج
رابط لايعمل .. الي فهمتو من كلامك انك رفعت لنا مشروع اين هو ..؟
http://vb4arb.com/vb/showthread.php?tid=28995
في هذا الموضوع نجد نفس مشكلتي بالضبط ونفس طلبي بالضبط
http://vb4arb.com/vb/showthread.php?tid=28995
في هذا الموضوع نجد نفس مشكلتي بالضبط ونفس طلبي بالضبط
اخوي ابو انس
اسف على التاخر في الرد لاني لم استطع الدخول للمنتدى سوى اليوم
واسف على ازالة رابط المرفق في ردي السابق لاني اردت اقيام بمحاولة حل مشكلة اللغة العربية
وبعض المشاكل الاخرى
في المثال استخدمت الملف AutoComplete والموجود في الريسورس كملف يحتوي اقتراحات الاكمال
والنص الموجود فيه هو للتجربه فقط بحيث انه عبارة عن كود ماعدا السطر الاخير هو كلمة "ديل كور"
الان ، هذا المثال يعمل كـ AutoComplete لـTextBox و DataGridView مع امكانية اضهار
كل الاقتراحات التي تحتوي على النص المدخل في TextBox او DataGridView بغض النظر عن حالة الاحرف
فمثلا لو ادخلت الحرفين pr فسوف يعرض كل الكلمات الموجودة في ملف AutoComplete والتي تحتوي
على الحرفين pr بنفس الترتيب بغض النظر ان كانت في بداية او وسط او اخر الكلمة
في الـ TextBox يعمل الاكمال التلقائي جيدا باللغتين العربية والانجليزية
لكن في الـ DataGridView لايظهر سوى اقتراحات اللغة الانجليزية لاادري لماذا
لكي تضيف (تلصق) النص المقترح للاداة المستخدمة اضغط ctrl+v
في النهاية يبقى عليك التعديل وتصحيح بعض الامور
مثل عندما يتم الضغط على مفتاح BackSpace او Back
رابط تحميل المثال
[
attachment=27418]
اذا كنت تقصد البحث في الكمبوبوكس
بواسطة حرف موجود في اي مكان في الكلمة
فهناك حل اخر يقوم العمل
كود :
Public listOnit
Public listNew As List(Of String) = New List(Of String)()
Public Sub ComboBox_TextUpdate(COM As ComboBox)
COM.Items.Clear()
listNew.Clear()
Try
For Each item In listOnit
If item.Contains(COM.Text) Then
listNew.Add(item)
End If
Next
COM.Items.AddRange(listNew.ToArray())
COM.SelectionStart = COM.Text.Length '- 2
COM.Cursor = Cursors.Default
COM.DroppedDown = True
Catch ex As Exception
End Try
End Sub
ثم قم بتعبئة بيانات الكمبوبوكس في حدث Com1_Enter للكمبوبوكس بالطريقة المعروفة
واخر حدث هو Com1_TextUpdate للكمبوبوكس
تقوم فيه باستدعاء الدالة ComboBox_TextUpdate
كود :
Private Sub Com1_TextUpdate(sender As Object, e As EventArgs) Handles Com1.TextUpdate
ComboBox_TextUpdate(Com1)
End Sub
يمكنك اختصار الكود كما تحب
جميل بارك الله فيك فكرة جيدة وجديدة علي