Member 12503769 Ответов: 2

Вычисление времени в gridview C#


привет
у меня есть gridview с этим coloms
1.Название
2. Время начала
3.EndTime
4. Общее Время

мне нужна новая строка в gridview с TotalAllTime, которая вычисляет все файлы TotalTime
Как я могу это сделать ?

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

я не поднос я не знаю как это сделать

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли.
Итак, мы не знаем, с чем у вас возникли трудности: у вас есть gridview, в котором есть ваши столбцы, но мы не знаем, откуда берутся данные, как создаются столбцы или каково ваше общее время!
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Sergey Alexandrovich Kryukov

Что именно вы подразумеваете под"видом сетки"? Точное полное имя типа, Пожалуйста.
—СА

2 Ответов

Рейтинг:
2

Member 12599256

var dataTable = new DataTable("DataTable1") {Locale = CultureInfo.InvariantCulture};

      dataTable.Columns.Add("Name", typeof (string));
      dataTable.Columns.Add("StartTime", typeof (DateTime));
      dataTable.Columns.Add("EndTime", typeof (DateTime));
      dataTable.Columns.Add("TotalTime", typeof (TimeSpan));

      var row0 = dataTable.NewRow();
      row0["Name"] = "John";
      row0["StartTime"] = new DateTime(2016, 1, 1, 1, 2, 3);
      row0["EndTime"] = new DateTime(2016, 1, 2, 4, 5, 6);
      row0["TotalTime"] = ((DateTime) row0["EndTime"]).Subtract((DateTime) row0["StartTime"]);
      dataTable.Rows.Add(row0);

      var row1 = dataTable.NewRow();
      row1["Name"] = "Henry";
      row1["StartTime"] = new DateTime(2016, 1, 1, 7, 8, 9);
      row1["EndTime"] = new DateTime(2016, 1, 3, 10, 20, 30);
      row1["TotalTime"] = ((DateTime) row1["EndTime"]).Subtract((DateTime) row1["StartTime"]);
      dataTable.Rows.Add(row1);

      var totalTimeSpan = new TimeSpan();
      totalTimeSpan = dataTable.Rows.Cast<DataRow>()
        .Aggregate(totalTimeSpan, (current, row) => current + (TimeSpan) row["TotalTime"]);

      var row2 = dataTable.NewRow();
      row2["TotalTime"] = totalTimeSpan;
      dataTable.Rows.Add(row2);

      dataGridView1.DataSource = dataTable;


Рейтинг:
1

Member 12503769

хии
я вижу это решение и не понимаю этого
у меня есть gridview и я вижу базу данных
и все это нормально
но мне нужно рассчитать общее время и отобразить его в нижнем колонтитуле

я вижу в youtube какое-то руководство, как это сделать с целым числом, но не со временем
это ссылка для руководства
мне нужно это со временем не могли бы вы мне помочь пожалуйста

[^]