Как сделать так, чтобы столбец DateTime показывал только время, а не даты? - PullRequest
0 голосов
/ 19 марта 2019

Итак, сегодня я столкнулся с проблемой построения WinForms app. У меня есть два столбца, один отображает дату, а другой время.

Я использую фильтр строк для фильтрации строк по времени. Единственная проблема заключается в том, что я хотел бы, чтобы в моем столбце Time отображалось только время, но метод DateTime также записывает дату в столбец времени.

Причина, по которой я должен держать столбец Time в типе столбца DateTime, заключается в том, что он позволяет мне фильтровать строки по временам из datetimepicker, который я преобразовал во временное значение timepicker.

  Construct.MainDataTable.Columns.Add("Date", typeof(DateTime));

  //I would like the column below to only display times
  Construct.MainDataTable.Columns.Add("Time",typeof(DateTime));

       //My timepickers
        timePicker1.Format = DateTimePickerFormat.Custom;
        timePicker1.CustomFormat = "HH:mm:ss"; 
        timePicker1.ShowUpDown = true;
        string timepicker1Value = timePicker1.Value.ToString("HH:mm:ss");
        timePicker2.Format = DateTimePickerFormat.Custom;
        timePicker2.CustomFormat = "HH:mm:ss"; // Only use hours and minutes
        timePicker2.ShowUpDown = true;
        string timepicker2Value = timePicker2.Value.ToString("HH:mm:ss");

   //the row filter uses the time column to filter rows
   Construct.MainDataTable.DefaultView.RowFilter = "Time >= '" + timePicker1.Value.ToLongTimeString() + "' and  Time <= '" +
timePicker2.Value.ToLongTimeString() + "'";

Мне просто нужно, чтобы столбец Time отображал ТОЛЬКО время, чтобы я мог продолжать фильтровать строки данных при необходимости.

...