Hello all,
I've been using the iText classes (v0.96) with the JDK1.4 for a week and I
think they're great. I have a question about the cell horizontal alignment
using the above method. I've searched the archives for
the .setDefaultHorizontalAlignment() method but didn't find my answer.
I've written a servlet to stream the results of a query using RtfWriter and
com.lowagie.text.table to the user as an rtf document. The problem I'm having
is the cell alignment of 1 column in the table does not change when I use
setDefaultHorizontalAlignment(). I saw a similar example of this in
Chap0510.java where it changes the cell alignment
using .setDefaultHorizontalAlignment(), but using the code below the cell
alignment for "db_grade" does not become centered, it stays left justified. In
the commented out code section below I found a way to make the cell centered,
but I'm wondering why setDefaultHorizontalAlignment() doesn't work.
Document document = new Document(PageSize.A4.rotate());
try
{
response.setContentType("application/rtf");
response.setHeader("Content-
Disposition","attachment;filename=\""+filename+"\"");
RtfWriter.getInstance(document, response.getOutputStream());
//Find the JDBC driver
Class.forName(sqlDriver); //establish the connection
conn = java.sql.DriverManager.getConnection(sqlURL);
stmt = conn.createStatement();
document.open();
if (reportType.equals("Parent"))
{
String db_student_name = "";
int db_stud_id = 0;
String db_grade = "";
String db_parent = "";
String db_telephone = "";
String db_address = "";
String db_email = "";
String db_relation = "";
HeaderFooter header = new HeaderFooter(new Phrase
(DateFormat.getDateInstance(FULL).format(today)), false);
header.setBorder(Rectangle.NO_BORDER);
document.setHeader(header);
document.add(new Paragraph(""));
document.add(new Paragraph("Teacher: "+teacherName, new Font
(Font.TIMES_NEW_ROMAN, 12,Font.BOLD)));
document.add(new Paragraph(courseName+",
Period "+periodName, new Font(Font.TIMES_NEW_ROMAN, 12,Font.BOLD)));
rs = stmt.executeQuery("SELECT DISTINCT stud_id, count
(stud_id) as count, ASTU_GRADE, ASTU_FIRSTNAME, ASTU_MIDDLENAME, ASTU_LASTNAME,
APRN_FIRSTNAME, APRN_LASTNAME, APRN_MIDDLENAME, STR_APRN_TELEPHONE,
aprn_address, aprn_city, aprn_zipcode, aprn_state, APRN_EMAILADDR,
APRN_RELATION FROM "+libname+".student_lookup WHERE stud_id IN (select distinct
stud_id FROM "+libname+".progfilters_full "+_where1+
") group by stud_id having
aprn_sequence=min(aprn_sequence) order by ASTU_LASTNAME;");
Table datatable = new Table(6);
datatable.setBorderWidth(1);
datatable.setPadding(4);
datatable.setSpacing(0);
int headerwidths[] = {15, 5, 20, 10, 30, 20};
datatable.setWidths(headerwidths);
datatable.setWidth(100);
datatable.setDefaultCellBackgroundColor(new Color
(255,153,51));
Cell cell = new Cell(new Phrase("Student Name",
FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0,0,255))));
cell.setHeader(true);
datatable.addCell(cell);
datatable.addCell(new Phrase("Grade", FontFactory.getFont
(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0,0,255))));
datatable.addCell(new Phrase("Parent/Guardian Name",
FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0,0,255))));
datatable.addCell(new Phrase("Telephone",
FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0,0,255))));
datatable.addCell(new Phrase("Address", FontFactory.getFont
(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0,0,255))));
datatable.addCell(new Phrase("Email", FontFactory.getFont
(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0,0,255))));
datatable.setDefaultCellBackgroundColor(null);
datatable.endHeaders();
datatable.setDefaultCellBorderWidth(1);
datatable.setDefaultRowspan(1);
while (rs.next())
{
db_student_name = rs.getString("ASTU_LASTNAME").trim()
+", "+rs.getString("ASTU_FIRSTNAME").trim();
db_stud_id = rs.getInt("stud_id");
db_grade = rs.getString("astu_grade");
db_parent = rs.getString("APRN_FIRSTNAME").trim()
+" "+rs.getString("APRN_MIDDLENAME").trim()+" "+rs.getString
("APRN_LASTNAME").trim();
db_telephone = rs.getString("STR_APRN_TELEPHONE");
db_address = rs.getString("aprn_address").trim()
+" "+rs.getString("aprn_city").trim()+", "+rs.getString("aprn_state").trim()
+" "+rs.getString("aprn_zipcode").trim();
db_email = rs.getString("APRN_EMAILADDR");
db_relation = rs.getString("APRN_RELATION");
datatable.setDefaultHorizontalAlignment
(Element.ALIGN_LEFT);
datatable.setDefaultCellBackgroundColor(new Color
(255,255,200));
datatable.addCell(db_student_name);
datatable.setDefaultCellBackgroundColor(null);
datatable.setDefaultHorizontalAlignment
(Element.ALIGN_CENTER);
// Cell cell1 = new Cell(db_grade);
// cell1.setHorizontalAlignment(Cell.ALIGN_CENTER);
// table.addCell(cell1);
datatable.addCell(db_grade);
datatable.setDefaultHorizontalAlignment
(Element.ALIGN_LEFT);
datatable.addCell(db_parent);
datatable.addCell(db_telephone);
datatable.addCell(db_address);
datatable.addCell(db_email);
}
document.add(datatable);
}
}
---------------------------------------------
This message was sent using Endymion MailMan.
http://www.endymion.com/products/mailman/
-------------------------------------------------------
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
_______________________________________________
iText-questions mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/itext-questions