Itext pdf print after selection index changed in combobox
After selection index changed have new values in datagrid print empty
Have header no have datagrid
Simle pdf document
Datagrid fill
private void radni_sati_radnika_zbirno()
{
using (SqlConnection openCon = new SqlConnection(cs))
{
string saveStaff = " declare @filterDate date; SELECT [radnik] as Radnik, "
+ "SUM(cast((CASE WHEN DATEPART(WEEKDAY, vrijemeprijave) in (1, 7) then 0 else (CASE WHEN(DATEDIFF(SECOND, vrijemeprijave, vrijemeodjave) / 3600) > 8 THEN 8 ELSE(DATEDIFF(SECOND, vrijemeprijave, vrijemeodjave) / 3600) END) end)as float)) AS 'radni_sati',"
+ "SUM(cast((CASE WHEN DATEPART(WEEKDAY, vrijemeodjave) in (1, 7) then(DATEDIFF(SECOND, vrijemeprijave, vrijemeodjave) / 3600) else(case when(DATEDIFF(SECOND, vrijemeprijave, vrijemeodjave) / 3600) > 8 then((DATEDIFF(SECOND, vrijemeprijave, vrijemeodjave) / 3600) - 8) ELSE 0 END) end)as float)) AS 'Prekovremeni'"
+ "from [prijava_radnika]"
+ "where MONTH([vrijemeprijave]) = '" + mjeseccomboBox.Text.ToString() + "' "
+ "group by [radnik]";
openCon.Open();
using (SqlDataAdapter querySaveStaff = new SqlDataAdapter(saveStaff, cs))
{
DataTable dt = new DataTable();
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "redni_broj";
column.AutoIncrement = true;
column.AutoIncrementSeed = 1;
column.AutoIncrementStep = 1;
dt.Columns.Add(column);
int index = -1;
foreach (DataRow row in dt.Rows)
{
row.SetField(column, ++index);
}
querySaveStaff.Fill(dt);
prijava_radnikaDataGridView.DataSource = dt;
prijava_radnikaDataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
prijava_radnikaDataGridView.Columns["redni_broj"].FillWeight = 150;
prijava_radnikaDataGridView.Columns["radnik"].FillWeight = 350;
prijava_radnikaDataGridView.Columns["radni_sati"].FillWeight = 150;
prijava_radnikaDataGridView.Columns["Prekovremeni"].FillWeight = 150;
prijava_radnikaDataGridView.Update();
prijava_radnikaDataGridView.Refresh();
}
}
}
What I have tried:
private void pdfButton_Click(object sender, EventArgs e)
{
PdfPTable pdfTable = new PdfPTable(prijava_radnikaDataGridView.ColumnCount);
pdfTable.DefaultCell.Padding = 3;
pdfTable.WidthPercentage = 100;
pdfTable.HorizontalAlignment = Element.ALIGN_CENTER;
pdfTable.DefaultCell.BorderWidth = 1;
float[] widths = new float[] { 18f, 40f, 35f, 35f};
pdfTable.SetWidths(widths);
BaseFont bfCalibri = BaseFont.CreateFont("c:\\windows\\fonts\\calibri.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
iTextSharp.text.Font calibri = new iTextSharp.text.Font(bfCalibri, 10, iTextSharp.text.Font.NORMAL, iTextSharp.text.BaseColor.WHITE);
iTextSharp.text.Font calibri2 = new iTextSharp.text.Font(bfCalibri, 9);
foreach (DataGridViewColumn column in prijava_radnikaDataGridView.Columns)
{
PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText, calibri));
cell.BackgroundColor = new BaseColor(89, 135, 178);
cell.VerticalAlignment = Element.ALIGN_MIDDLE;
pdfTable.AddCell(cell);
}
foreach (DataGridViewRow row in prijava_radnikaDataGridView.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
pdfTable.AddCell(new PdfPCell(new Phrase(cell.Value.ToString(), calibri2)));
}
}
string folderPath = "C:\\PDFs\\";
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
using (FileStream stream = new FileStream(folderPath + "Izvještaj nabavke po dobavljacima.pdf", FileMode.Create))
{
iTextSharp.text.Font calibriTitle = new iTextSharp.text.Font(bfCalibri, 14);
iTextSharp.text.Font calibriSubTitle = new iTextSharp.text.Font(bfCalibri, 10);
iTextSharp.text.Font calibrinaslov = new iTextSharp.text.Font(bfCalibri, 16);
Document pdfDoc = new Document(PageSize.A4, 27f, 10f, 10f, 30f);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Open();
pdfDoc.Add(new ListItem(" "));
pdfDoc.Add(new ListItem(" "));
pdfDoc.Add(new ListItem(" Izvještaj nabavke po dobavljacima", calibrinaslov));
pdfDoc.Add(new ListItem(" "));
pdfDoc.Add(new ListItem(" "));
pdfDoc.Close();
stream.Close();
System.Diagnostics.Process.Start(folderPath + "Izvještaj nabavke po dobavljacima.pdf");
}
}