الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمل التقارير داخل البرنامج

بدأه ريحانة الاقصى في 1 يونيو 2012 · 3 رد · 648 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاااته

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

وفي كل مرة اتعلم شيئا جديدا حتى ان لم يكن يلزمني في الوقت الحالي

انا الان اعمل على مشروع مخرجات هذا المشروع عبارة عن جداول اريد طباعتها في تقارير ,,,(انا لم اكن اعلم شيئا عن التقارير في الجافا وكنت اظنن انني ساصممها من خلال انترفيس واقوم بالطباعة)

ولكن بعد البحث علمت ان الجافا تتعامل مع التقارير

وقرئت جميع المواضيع الخاصة عن التقارير في المنتدى (قسم المواضيع المميزة)

فيديوهات وملفات شروحات ب PDF , واكواد ,,,,

وطبقتها جميعا (الي يومين 24 ساعة شغالة عليهم :sad: )

وبعد جهد جهيد استطعت استعمال التقارير ولكن جميييع الشروحات

كانت تتعامل مع التصميم للتقارير ومن ثم نقوم باستدعائها داخل البرنامج وتشغيلها

ولكن انا عندي ما لا يقل عن 200 تقرير ,,

في 3 اصناف

يعني احتاج 3 اقسام فقط

فليس من المعقول ان اقوم بتصميمها انا ,,

ووجدت مشاركة واحدة فقط من خلالها استطيع عمل التقرير من داخل البرنامج

ولكن نتائجه ليست بمستوى التقارير التي تم تصميمها ,,, ولا يمكن الاعتماد عليها

/index.php?showtopic=102566

واذا اردت تعديل الشكل هنا احتاج الى تعديله ب ال HTML

الا استطيع استعمال تقارير ال jasper report من داخل البرنامج

مثل ما هو موجود بالرابط

والفرق بين الطريقتي واضح جدا بالصور ,,ولا اظن انني من خلال تعديل الوسم في ال html استطيع الحصول على الفرق

post-218481-089435600 1338553801_thumb.p

post-218481-074879500 1338553824_thumb.p

المرفقات
6-1-2012 3-26-53 PM.png6-1-2012 3-05-27 PM.png
#2

يمكن تحويل الملف من صيغة XML الى امتداد jasper الذي احتاجه في الدالة

JasperPrint jp = JasperFillManager.fillReport(JasperPath, new HashMap(), conn);

من خلال

JasperCompileManager.compileReportToFile(sourceFileName);
JasperCompileManager.compileReportToFile(jasperDesign, destFileName);
JasperCompileManager.compileReportToFile(sourceFileName, destFileName);

انا من خلال التصميم لدي ال XML واريده ثابت ولكن باختلاف البيانات التي يعمل عليها

كيق ارسل ناتج Query الى ملف ال XML

انا لم استخدم ال XML ولا اعلم عنها شيئا

هذا هو الكود الناتج من التصميم عندي

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="FirstReport" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
	<queryString language="SQL">
		<![CDATA[SELECT
     grade.`ID` AS grade_ID,
     grade.`name` AS grade_name,
     grade.`grade` AS grade_grade
FROM
     `grade` grade]]>
	</queryString>
	<field name="grade_ID" class="java.lang.Integer">
		<fieldDescription><![CDATA[]]></fieldDescription>
	</field>
	<field name="grade_name" class="java.lang.String">
		<fieldDescription><![CDATA[]]></fieldDescription>
	</field>
	<field name="grade_grade" class="java.lang.Integer">
		<fieldDescription><![CDATA[]]></fieldDescription>
	</field>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="79" splitType="Stretch"/>
	</title>
	<pageHeader>
		<band height="35" splitType="Stretch"/>
	</pageHeader>
	<columnHeader>
		<band height="61" splitType="Stretch"/>
	</columnHeader>
	<detail>
		<band height="27" splitType="Stretch">
			<textField>
				<reportElement x="81" y="0" width="100" height="20"/>
				<textElement/>
				<textFieldExpression class="java.lang.Integer"><![CDATA[$F{grade_ID}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement x="227" y="3" width="100" height="20"/>
				<textElement/>
				<textFieldExpression class="java.lang.String"><![CDATA[$F{grade_name}]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement x="368" y="0" width="100" height="20"/>
				<textElement/>
				<textFieldExpression class="java.lang.Integer"><![CDATA[$F{grade_grade}]]></textFieldExpression>
			</textField>
		</band>
	</detail>
	<columnFooter>
		<band height="45" splitType="Stretch"/>
	</columnFooter>
	<pageFooter>
		<band height="54" splitType="Stretch"/>
	</pageFooter>
	<summary>
		<band height="42" splitType="Stretch"/>
	</summary>
</jasperReport>

ويكون ملف بصيغة .jrxml.

كيف انشأ هذا الملف من خلال كود برمجة يستقبل java.sql.ResultSet rs

بالتالي يختلف محتوياته بناء على java.sql.ResultSet rs

ويبقى التصميم ثابت

#3

هل المطلوب ان يكون هناك تقرير واحد ولكن البيانات تكون مختلفه فيه كل مره على حسب البيانات ؟؟

برنامج Online Exam مفتوح المصدر

 

To Info:abdelrahman.awad@yahoo.com

 

 

\

#4
abdelrahman.awad كتب:

هل المطلوب ان يكون هناك تقرير واحد ولكن البيانات تكون مختلفه فيه كل مره على حسب البيانات ؟؟

لا ليس حسب البيانات

اريده في كل مرة يستقبل نتيجة استعلام ابعثه اليه

انا ناتج مشروعي تقريبا 200 جدول في قاعدة البيانات

وجميعها تحتاج الى تصميم واحد ولكن كل مرة استعلام مختلف

مواضيع مشابهة