تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية عمل تضبيط الفلتر من داخل فلتر اخر
#1
السلام عليكم ورحمة الله وبركاته الاخوة الاحباب

عملت هذا المشروع البسيط وفيه عمل فلتر لاكثر من عمود

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

وانا اريد ان يكون الفلتر تحت كل الشروط المختارة التي عملت لها فلتر

بمعني

اني لو عملت فلتر لل region  المفروض تظهر مجموعة من الصفوف حسب الفلتر ولنفرض 20 صف مثلا

ثم لو بحثت بالمدينة يجب ان البحث في داخل هذه ال 20 صف وليس كل الجدول ولنفرض الناتج هو 10 صفوف

ثم لو بحثت بال category  ييكون البحث داخل هذه ال 10 صفوف ويكون الناتج هو 5 صفوف مثلا

وهكذا

برجاء فحص المرفقات

مع الشكر الجزيل


الملفات المرفقة صورة/صور
   

.rar   SIR.rar (الحجم : 112.29 ك ب / التحميلات : 44)
الرد }}}
تم الشكر بواسطة:
#2
و عليكم السلام و رحمة الله و بركاته
اخي الكريم,
الفكرة لديك تعتمد على تعشيش الاستعلامات
و كجواب نظري انت تريد الوصول من الاكبر الى الاصغر (من الاعم و الاشمل الى المختصر)
اما ان تعتمد على تعشيش الاستعلامات في القاعدة و تستقبل المخرجات في البرنامج عن طريق تمرير البارمترات المناسبة
و اذا كنت تتعامل مع SqlServer استفد من الاجراءات المخزنة في هذا الموضوع.

او يمكنك تخصيص العمل مع مكاتب Linq بالتوازي مع تعبيرات Lambda و بالتالي يصبح الامر اسهل و اقوى , لان القيم الراجعة من دوال لامدا هي مصفوفات و بالتالي يمكنك التعمق الى ابعد حد في الاستعلامات و الحصول على اي نتيجة تحبذها

وان كنت ستعتمد على اطار العمل (اقصد Ado التقليدي) فيتوجب عليك العمل , كاشارة اولى 
اعمل على DataTable.select و استخدم  FilterExpression  يتاسب مع احتياجاتك بالتوازي مع ربطها بدوال ديناميكة حتى لا يصبح لديك الكود طويل جداً (مع ان هذه الفكرة ستغلبك كثيراً ولا احبذها)

كمثال على قوة Linq 

PHP كود :
Using svcContext As New ServiceContext(_serviceProxy)
 
Dim query_multiselect =
 
    svcContext.IncidentSet _
     
.Where(Function(iNot i.IncidentId.Value.Equals(_incidentId1)) _
     
.Select(Function(ii.incident_customer_accounts_
     
.Where(Function(aNot a.AccountId.Value.Equals(_accountId2)) _
     
.Select(Function(aa.account_primary_contact_
     
.OrderBy(Function(cc.FirstName).Select(Function(cc.ContactId)
 For 
Each c In query_multiselect
  Console
.WriteLine(c.GetValueOrDefault())
 
Next c
End Using 
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة:
#3
(28-05-17, 02:57 AM)ابو ليلى كتب : و عليكم السلام و رحمة الله و بركاته
اخي الكريم,
الفكرة لديك تعتمد على تعشيش الاستعلامات
و كجواب نظري انت تريد الوصول من الاكبر الى الاصغر (من الاعم و الاشمل الى المختصر)
اما ان تعتمد على تعشيش الاستعلامات في القاعدة و تستقبل المخرجات في البرنامج عن طريق تمرير البارمترات المناسبة
و اذا كنت تتعامل مع SqlServer استفد من الاجراءات المخزنة في هذا الموضوع.

او يمكنك تخصيص العمل مع مكاتب Linq بالتوازي مع تعبيرات Lambda و بالتالي يصبح الامر اسهل و اقوى , لان القيم الراجعة من دوال لامدا هي مصفوفات و بالتالي يمكنك التعمق الى ابعد حد في الاستعلامات و الحصول على اي نتيجة تحبذها

وان كنت ستعتمد على اطار العمل (اقصد Ado التقليدي) فيتوجب عليك العمل , كاشارة اولى 
اعمل على DataTable.select و استخدم  FilterExpression  يتاسب مع احتياجاتك بالتوازي مع ربطها بدوال ديناميكة حتى لا يصبح لديك الكود طويل جداً (مع ان هذه الفكرة ستغلبك كثيراً ولا احبذها)

كمثال على قوة Linq 

PHP كود :
Using svcContext As New ServiceContext(_serviceProxy)
 
Dim query_multiselect =
 
    svcContext.IncidentSet _
     
.Where(Function(iNot i.IncidentId.Value.Equals(_incidentId1)) _
     
.Select(Function(ii.incident_customer_accounts_
     
.Where(Function(aNot a.AccountId.Value.Equals(_accountId2)) _
     
.Select(Function(aa.account_primary_contact_
     
.OrderBy(Function(cc.FirstName).Select(Function(cc.ContactId)
 For 
Each c In query_multiselect
  Console
.WriteLine(c.GetValueOrDefault())
 
Next c
End Using 


السلام عليكم اخي الحبيب

شكرا علي الرد والمساعدة

بس انا مازلت مبتدا وكلام حضرتك مش واضح اوي بالنسبة لي Huh

فكيف اعكس هذا الكلام علي المشروع تبعي

فيا ليت لو وضعته في المرفقات

مع الشكر

و كل عام وانتم بخير
الرد }}}
تم الشكر بواسطة:
#4
(28-05-17, 04:34 AM)khodor1985 كتب : السلام عليكم أخي العزيز ورحمة الله وبركاته
أفهم من كلامك أخي العزيز أنك تريد البحث أو جلب البيانات بناء لأكثر من الشرط وهذا ما يسمى بالبحث المتعدد المعايير Multi Criteria، أليس كذلك؟

تابع هذا المثال سيفيدك كثرا وأعتقد أنه سيفي بالغرض فهو يتناول فكرة البحث المتعدد
http://vb4arb.com/vb/showthread.php?tid=14402

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

ساراجع المثال وان شاء الله يفي بالغرض

مع جزيل الاحترام والشكر
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية منع ظهور الأخطاء من إعدادات البيسيك mmaalmesry 2 858 29-08-25, 10:30 AM
آخر رد: mmaalmesry
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,865 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 754 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,005 06-08-25, 06:34 PM
آخر رد: Taha Okla
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,265 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 558 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  كيفية التعامل مع inputbox في فيجوال ستوديو أسامة حسين 4 3,518 14-01-25, 02:04 AM
آخر رد: أبو خالد الشكري
  استدعاء من جدولين داخل اداه FlowLayoutPanel برجاء الافادة للضرورة جداً modymody300894 7 644 15-11-24, 11:02 AM
آخر رد: modymody300894
  كيفية معرفة الجهاز رئيسي ام فرعي المتألق9 1 402 13-11-24, 06:41 PM
آخر رد: justforit
  كتابه عدد معين من الارقام داخل تيكست بوكس modymody300894 3 563 07-11-24, 09:15 PM
آخر رد: modymody300894

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


يقوم بقرائة الموضوع: