Итак, сегодня я столкнулся с проблемой построения 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 отображал ТОЛЬКО время, чтобы я мог продолжать фильтровать строки данных при необходимости.