delphi4arab منتديات دلفي للعرب
اظهار عدد السجلات في الديبي قريد - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : اظهار عدد السجلات في الديبي قريد (/showthread.php?tid=1302)

الصفحات: 1 2


اظهار عدد السجلات في الديبي قريد - hanipino - 29-12-2009

kachwahed كتب :
PHP كود :
property RowCount: Longint read FRowCount write SetRowCount default 5; 

بالرغم من ان هذه الخاصية قابلة للقراءة و الكتابة الى انه لا يمكن الاستفادة من الكتابة دون تغييرات اخرى(التى لا اعلم ما هى Smile) ... على عكس القراءة .

المكون DBGrid مكون متشعب جدا . :monster2:


اظهار عدد السجلات في الديبي قريد - galag8 - 29-12-2009

ماشاء الله عليكم اخواني
kachwahed & hanipino فعلا حل متميز
بارك الله فيكم
وفي انتظار المشروع الجديد Big Grin

لكن اخي kachwahed هنالك مشكله اذا لم يكن هناك اي سجل بالdbgrid يظهر ان هناك سجل واحد ومن المفروض ان يظهر صفر.

سلام عليكم

من جديد اخي kachwahed هنالك مشكله وهي انه يظهر السجلات الظاهره للعيان فقط اي اذا كان حجم ال dbgrid صغير نسبيا ويسمح بعرض 15 سجل وكان عدد السجلات بال dbgrid تساوي 20 فانه يظهر ان عدد السجلات 15 اي هذه هي المرئيه وعند تكبير حجم ال dbgrid يزيد عدد العناصر علي حسب حجم القريد فقط
**** ان اكون وضحت المشكله


اظهار عدد السجلات في الديبي قريد - kachwahed - 29-12-2009

إقتباس :لكن المشكله ان الحل الموجود في الاعلي يعيد عدد السجلات الموجوده في الجدول باكمله وليس فقط التي تظهر في dbgrid في بعض الاحيان اقوم بعمل فلتره لمجموعه معينه واظهرها علي القريد
لم أفهم ما أردت فعله بالتحديد، إذ كل البيانات المخزنة في DataSet تظهر في TDBGrid المرتبطة به
أيضا الـ Filter يحدث على مستوى DataSet وبالتالي عدد السجلات RecordCount لـ DataSet يتغير حسب الـ Filter
عموما، جرب هذه أيضا:
PHP كود :
ShowMessage(IntToStr(ADOTable1.Recordset.RecordCount)); 
إذا لم يحقق المطلوب فحاول التوضيح بمثال.
بالتوفيق.



اظهار عدد السجلات في الديبي قريد - galag8 - 31-12-2009

بسم الله الرحمن الرحيم

اليك اخي kachwahed المثال التالي وبه عيوب كل كريقه من الاثنين


اظهار عدد السجلات في الديبي قريد - kachwahed - 31-12-2009

RecCount تؤدي المطلوب أخي الكريم، علينا فقط الانتباه في الـ Filter...
بداية كان هناك خطأ في موضع الـ Filter لاحظ:
كود :
procedure TForm1.Edit2Change(Sender: TObject); begin [color=Red]ADOQuery1.SQL.Text:='select * from n1 where na like"'+Edit2.Text+'%"[/color];'; DBGrid1.DataSource:=DataSource2; //taSource2.DataSet:=ADOTable1; ADOQuery1.Open; //Label28.Caption:='عدد النتائج المعروضة : '+IntToStr(MyDBGrid(DBGrid1).RowCount-1); Label14.Caption:='عدد النتائج المعروضة : '+IntToStr([color=Red]ADOTable1.Recordset.RecordCount[/color]); Label13.Caption:='عدد النتائج المعروضة : '+IntToStr(MyDBGrid(DBGrid1).RowCount-1); end;
أي وضعت Filter في ADOQuery وحاولت عرض عدد السجلات من ADOTable ! طبعا ستكون النتيجة خاطئة.
أيضا هناك طريقتين لعمل Filter إما باستخدام خاصية Filter أو بإعادة الاستعلام، هذه الأخيرة مفضلة عند العمل على الشبكات، حيث قم يتم إضافة سجلات أثناء الـ Filter.
أعددت الطريقتين في المرفقات. بالتوفيق.



اظهار عدد السجلات في الديبي قريد - galag8 - 31-12-2009

لا ادري ماذا اقول لكن ساقول لك وفقك الله ورحم والديك
وبارك الله فيك