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

اخى kachwahed جرب فلترة كل ما تم تحديده فى DBgrid ثم قم بعملية الطباعة .
الله اعلم سيتم طباعة ماهو مفلتر فقط .
الرد
#3
وعليكم السلام ورحمة الله
بارك الله فيك أخي 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.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد


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


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