delphi4arab منتديات دلفي للعرب
إنشاء تقرير (Rave Report) للسجلات المحددة - نسخة قابلة للطباعة

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



إنشاء تقرير (Rave Report) للسجلات المحددة - kachwahed - 21-11-2009

السلام عليكم
هل من طريقة لطباعة تقرير يظهر فقط السجلات المحددة من TDBGrid باستخدام Rave Report
بشيء مثل:
كود :
RvProject1.SelectReport('Report1'); for I := 0 to DBGrid1.SelectedRows.Count - 1 do begin /// ??? end; RvProject1.Execute;
شكرا مسبقا.


إنشاء تقرير (Rave Report) للسجلات المحددة - hanipino - 21-11-2009

السلام عليكم

اخى kachwahed جرب فلترة كل ما تم تحديده فى DBgrid ثم قم بعملية الطباعة .
الله اعلم سيتم طباعة ماهو مفلتر فقط .


إنشاء تقرير (Rave Report) للسجلات المحددة - kachwahed - 22-11-2009

وعليكم السلام ورحمة الله
بارك الله فيك أخي Hani على التجاوب، فكرة جيدة
فعلا يتم إعداد التقرير من خلال المكون DataView للـ RaveReport الذي يستقي البيانات من DataSet، وبما أن هذه الأخيرة Filtred فالنتيجة إعداد تقرير بما هو محدد في الـ Filter.
كنت أحاول فعل ذلك من خلال الولوج إلى مكونات الـ Rave وتحديد عدد الأسطر بشيء مثل:
كود :
var Page: TRavePage; Band: TRaveDataBand; // Report: TRaveReport; begin with dm.RvProject do begin Close; SelectReport('ReportName', False); // Report := ProjMan.FindReport('ReportName', False); Page := ProjMan.FindRaveComponent('ReportName.MainPage', nil) as TRavePage; Band := ProjMan.FindRaveComponent('DataBandName', Page) as TRaveDataBand; Band.MaxRows := DBGrid1.SelectedRows.Count; //<-- Here // Band.DataView.CurrentColumn := DataSet.RecNo; //<- This is ReadOnly property Open; Execute; end;
سأطرح ما قد يستفيد منه آخرون...
إذا كان التقرير يعرض كل سجل في صفحة منفردة يمكن عرض الصفحة الحالية بـ:
كود :
RvSystem.SystemPrinter.FirstPage := DataSet.RecNo; RvSystem.SystemPrinter.LastPage := DataSet.RecNo;
للتحكم في عرض التقرير والخيارات ضع مكون TRvSystem وحدد خصائصه، ثم اربط TRvProject معه،
مثل:
كود :
RvSystem.SystemPreview.FormState := wsMaximized;
لتمرير براميترات:
كود :
RvProject.SetParam('ParamName', 'Value');
وتضاف في Rave Designer من خاصية Parameters للصفحة (Page Component)، ثم تضاف في إحدى مكونات البيانات مثل: DataText في الخاصية DataField تحت Report Variables.
بارك الله فيك أخي hanipino.