اظهار عدد السجلات في الديبي قريد
#11
kachwahed كتب :
PHP كود :
property RowCount: Longint read FRowCount write SetRowCount default 5; 

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

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

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

سلام عليكم

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

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


الملفات المرفقة
.rar   dbgrid.rar (الحجم : 16.25 ك ب / التحميلات : 44)
لا اله الا الله
عدد ما كان وعدد ما يكون وعدد الحركات والسكون
الرد
#15
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.
أعددت الطريقتين في المرفقات. بالتوفيق.


الملفات المرفقة
.rar   Filter_RecCount.rar (الحجم : 10.87 ك ب / التحميلات : 43)
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#16
لا ادري ماذا اقول لكن ساقول لك وفقك الله ورحم والديك
وبارك الله فيك
لا اله الا الله
عدد ما كان وعدد ما يكون وعدد الحركات والسكون
الرد


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


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