easyDelphi Q&A
+4 تصويتات
95 مشاهدات
سُئل بواسطة | 95 مشاهدات
 
لا تكتفي بالعنوان، صار لي فترة ابحث عنه، طلع فقط في العنوان

3 إجابة

+3 تصويتات

يبدو لي لم أفهم سؤالك أخي "مجهول" جيدا عذرا ...

فيما يخص DBGRID فهو مكون يأتي مع الدلفي و هو لا يقوم بالفلترة بل يقوم بعرض البيانات مثله مثل DBEdit و DBComboBox أو  DBLookupComBoBox و غيرها .....من المكونات الخاصة بعرض البيانات و التعديل عليها إن أمكن و كل هذا بواسطة DATASET .

و أما وجود مكون DBGrid آخر في الدلفي يقوم بالفلترة مثل برنامج الأكسل فهذا جوابه طبعا لا و قد تجد تلك الخاصية التي أنت تبحث عنها في المكون cxDBGrid الموجود في المكتبة DevExpress و هي مكتبة غير مجانية مع العلم أن هذا الأخير لا يدعم خاصية BidiMode .

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

procedure TFrmMain.Btn_FilterByPagesClick(Sender: TObject);
begin
  case Btn_FilterByPages.Tag of
   0:begin
       Btn_FilterByPages.Caption := 'فلترة الجدول حسب عدد الصفحات أصغر من 200';
       ds_Book.DataSet.Filter   := '';
         ds_Book.DataSet.Filter := 'Pages_Numbers > 200';
       ds_Book.DataSet.Filtered := True;
       Btn_FilterByPages.Tag := 1;
     end;
   1:begin
       Btn_FilterByPages.Caption := 'فلترة الجدول حسب عدد الصفحات مابين 200 و 300';
       ds_Book.DataSet.Filter   := '';
         ds_Book.DataSet.Filter := 'Pages_Numbers < 200';
       ds_Book.DataSet.Filtered := True;
       Btn_FilterByPages.Tag := 2;
     end;
   2:begin
       Btn_FilterByPages.Caption := 'أظهر الجدول كاملا من دون فلترة';
       ds_Book.DataSet.Filter   := '';
         ds_Book.DataSet.Filter := 'Pages_Numbers > 200 and Pages_Numbers < 400';
       ds_Book.DataSet.Filtered := True;
       Btn_FilterByPages.Tag := 3;
     end;
   3:begin
       Btn_FilterByPages.Caption := 'فلترة الجدول حسب عدد الصفحات أكبر من 200';
       ds_Book.DataSet.Filter   := '';
       ds_Book.DataSet.Filtered := False;
       Btn_FilterByPages.Tag := 0;
     end;
   end;

end;

و شكرا.

تم الرد عليه بواسطة (14,010 نقاط)
عُدل بواسطة
+5 تصويتات

نعم يوجد الكثير اهمها :

cxDBGrid موجود في مجموعة DevExpress

AdvDBGrid  موجود في مجموعة TMS

NextGrid موجود في NextSuite

 

تم الرد عليه بواسطة (18,170 نقاط)
عُدل بواسطة
نعم استاذ سامر شكرا جزيلا هذا ما أقصده .. يوحد هذا المكون الرائع في lazarus في مجموعة Rx
,وهو مكون رائع أظن لا مثيل له في اللغات الأخرى
+3 تصويتات
و يوجد في الحزمة المجانية JEDI Vcl تحت اسم jvDBUltimGrid.
تم الرد عليه بواسطة (790 نقاط)

اسئلة متعلقة

+2 تصويتات
1 إجابة
سُئل أكتوبر 27 في تصنيف vcl بواسطة youcef (240 نقاط) | 33 مشاهدات
+3 تصويتات
2 إجابة
سُئل سبتمبر 29 في تصنيف vcl بواسطة xorpas (240 نقاط) | 40 مشاهدات
+5 تصويتات
3 إجابة
0 تصويتات
0 إجابة
سُئل منذ 2 أيام في تصنيف Delphi بواسطة Amar Gozim (10,290 نقاط) | 8 مشاهدات
+3 تصويتات
1 إجابة
سُئل يوليو 3 في تصنيف Components بواسطة مجهول | 54 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

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

267 سؤال
476 إجابة
833 تعليق
163 مستخدم