Goran Bibic Ответов: 1

Колонки установки тип установки ITEXTSHARP


Some help
 
Sql column type is date
datagrid setup preview 19.09.2017
 
Datetimepicker format short value 19.09.2017
 
I need column  date 19.09.2017 00:00:00 setup just date 19.09.2017


Что я уже пробовал:

//Creating iTextSharp Table from the DataTable data  
           //Console.WriteLine(kifDataGridView.ColumnCount); test za itext sharp  
           PdfPTable pdfTable = new PdfPTable(kifDataGridView.ColumnCount);  
           pdfTable.DefaultCell.Padding = 3;  
           pdfTable.WidthPercentage = 100;  
           pdfTable.HorizontalAlignment = Element.ALIGN_LEFT;  
           pdfTable.DefaultCell.BorderWidth = 1;  
  
           float[] sirina = new float[] { 0f, 15f, 40f, 70f, 80f, 0f, 0f, 0f, 0f, 0f, 45f, 40f, 30f, 45f, 45f, 40f, 30f, 25f, 25f, 40f, 30f };  
           pdfTable.SetWidths(sirina);  
           BaseFont bfCalibri = BaseFont.CreateFont("c:\\windows\\fonts\\calibri.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);  
           iTextSharp.text.Font calibri = new iTextSharp.text.Font(bfCalibri, 8);  
           iTextSharp.text.Font calibri2 = new iTextSharp.text.Font(bfCalibri, 7, iTextSharp.text.Font.NORMAL, iTextSharp.text.BaseColor.WHITE);  
  
  
  
           //Adding Header row  
           foreach (DataGridViewColumn column in kifDataGridView.Columns)  
           {  
               PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText, calibri2));  
               cell.BackgroundColor = new iTextSharp.text.BaseColor(243,70,5);  
               pdfTable.AddCell(cell);  
           }  
  
           //Adding DataRow  
           foreach (DataGridViewRow row in kifDataGridView.Rows)  
           {  
  
               foreach (DataGridViewCell cell in row.Cells)  
               {  
  
                   PdfPCell cell2 = new PdfPCell(new Phrase(cell.Value.ToString(), calibri));  
                   pdfTable.AddCell(cell2);  
               }  
           }  

Gerry Schmitz

Я не вижу никаких "дат" в вашем коде; почему это вопрос о "дате"?

Goran Bibic

Дата выбирается из SQL

Goran Bibic

Столбец 3 Дата тип данных sql

1 Ответов

Рейтинг:
1

Richard Deeming

Предположим, что вы используете последнюю версию Visual Studio 2017:

foreach (DataGridViewRow row in kifDataGridView.Rows)
{
    foreach (DataGridViewCell cell in row.Cells)
    {
        string text;
        switch (cell.Value)
        {
            case null:
            {
                text = string.Empty;
                break;
            }
            case DateTime date:
            {
                text = date.ToString("dd.MM.yyyy");
                break;
            }
            case DateTimeOffset date:
            {
                text = date.ToString("dd.MM.yyyy");
                break;
            }
            default:
            {
                text = cell.Value.ToString();
                break;
            }
        }
        
        pdfTable.AddCell(new PdfPCell(new Phrase(text, calibri)));
    }
}
Сопоставление Шаблонов - Руководство По C# | Microsoft Docs[^]

РЕДАКТИРОВАТЬ: Вы не используете последнюю версию Visual Studio 2017. Вам нужно будет заменить шаблон соответствия switch заявление.
string text;
if (cell.Value == null)
{
    text = string.Empty;
}
else if (cell.Value is DateTime)
{
    text = ((DateTime)cell.Value).ToString("dd.MM.yyyy");
}
else if (cell.Value is DateTimeOffset)
{
    text = ((DateTimeOffset)cell.Value).ToString("dd.MM.yyyy");
}
else
{
    text = cell.Value.ToString();
}


Goran Bibic

Описание Кода Серьезности Состояние Подавления Строки Файла Проекта
Предупреждение CS0164 на эту метку не было ссылки BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 802 активен
Ошибка CS1003 синтаксическая ошибка, ':' ожидаемый BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 802 активен
Ошибка CS1003 синтаксическая ошибка, ':' ожидаемый BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 807 активен
Ошибка CS0151 выражении Switch или Case метка должна быть типа bool, char, в строку, Интеграл, перечисление, или соответствующий тип, допускающий значение null БСС C:\Users\Bibic документы Горан\\визуальной студии 2015\проекты\БСС\БСС\mp_racun.ЦС 795 активный
Ошибка CS0119 'DateTime' - это тип, который недопустим в данном контексте BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 802 активен
Ошибка CS0103 имя "дата" не существует в текущем контексте BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 804 активен
Ошибка CS0119 'DateTimeOffset' - это тип, который недопустим в данном контексте BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 807 активен
Ошибка CS0140 метка "дата" является дубликатом BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 807 активен
Ошибка CS0103 имя "дата" не существует в текущем контексте BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 809 активен
Ошибка CS8070 Control не может выпасть из переключателя с конечной метки case ('default:') BSS C:\Users\Bibic Goran\Documents\Visual Studio 2015\Projects\BSS\BSS\mp_racun.cs 812 активен

Richard Deeming

"Предполагая, что вы используете последнюю версию Visual Studio 2017"

Вы не используете последнюю версию Visual Studio 2017.