Goran Bibic Ответов: 1

Itextsharp datetime C#


Дата время удалить время из отчета pdf

if (c == 2)
мой отчет таков

дата оплаты
01.01.2019 01.01.2019 00:00:00

Я пытаюсь добавить это

<pre>  if (c == 2) && (c == 3)


мой отчет таков

дата оплаты
01.01.2019 00:00:00 01.01.2019 00:00:00



I try to add d (like on example code)

<pre>
<pre>  if (c == 2) && (d == 3)


мой отчет таков

дата оплаты
01.01.2019 00:00:00 01.01.2019 00:00:00


Пожалуйста, помогите мне.

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

//Adding DataRow
           foreach (DataGridViewRow row in AnalitickaKarticaPartneraDataGridView.Rows)
           {

               int c = 0;
               int d = 0;
               foreach (DataGridViewCell cell in row.Cells)
               {
                   if (c == 2 && d == 3)
                   {
                       PdfPCell cell2 = new PdfPCell(new Phrase(cell.Value.ToString().Split(' ')[0], calibri));
                       pdfTable.AddCell(cell2);
                   }
                   else
                   {
                       PdfPCell cell2 = new PdfPCell(new Phrase(cell.Value.ToString(), calibri));
                       pdfTable.AddCell(cell2);
                   }
                   c++;
                   d++;
               }

           }

1 Ответов

Рейтинг:
1

phil.o

Это полная чушь:

if (c == 2) && (c == 3)
это никогда не будет истинно: переменная не может иметь два значения одновременно.
if (c == 2) && (d == 3)
это также никогда не будет истинно: обе переменные объявляются одновременно и увеличиваются одновременно. Если вы не показали весь код, нет никакого шанса, что один из них может иметь значение, которое отличается от другого.

Более того, все это никак не связано с форматом отображения даты и времени.

Вот скелет для извлечения и изменения формата datetime:
string value = "01.01.2019 00:00:00";
DateTime dt;
string formattedDate;
if (DateTime.TryParseExact(
   value,
   "dd.MM.yyyy HH:mm:ss",
   CultureInfo.CurrentCulture,
   DateTimeStyles.None,
   out dt
) {
   formattedDate = dt.ToString("dd.MM.yyyy");
}
else
{
   // Datetime could not be parsed. Check the format string and actual input.
}


Goran Bibic

Как реализовать это в моем коде?

phil.o

Я не могу ответить на этот вопрос точно; никто не может. У нас нет доступа к исходному коду, у нас нет доступа к содержимому представления сетки. То, что я привел здесь, - это общий способ обработки datetimes, то есть работа с реальными структурами DateTime, а не со строковыми представлениями о них.
Так что теперь все зависит от вас; вы можете использовать отладчик, чтобы иметь больше информации об объектах, с которыми вы имеете дело.

Goran Bibic

Нужно реализовать ваше решение здесь

//Добавление DataRow
по каждому элементу (ячейки datagridviewrow Row в AnalitickaKarticaPartneraDataGridview.Строк)
{

int c = 0;
int d = 0;
по каждому элементу (объект datagridviewcell ячейки в строке.Ячейки)
{
если (c == 2 & & amp; d == 3)
{
PdfPCell cell2 = new PdfPCell(новая фраза(ячейка.Ценность.ToString().Split(' ')[0], calibri));
pdfTable.AddCell(cell2);
}
еще
{
PdfPCell cell2 = new PdfPCell(новая фраза(ячейка.Ценность.Метод toString(), Калибри));
pdfTable.AddCell(cell2);
}
с++;
д++;
}

}