У меня есть ViewSource, основанный на наблюдаемой коллекции набора объектов на основе класса ac #, называемого «Ticket» для DataGrid для проекта WPF в C # .net 4. Проект предназначен для простого приложения службы поддержки.
ViewSource, сгруппированный по свойству Property, вызывает TktDate, и все заявки, введенные в этот день, очевидно, сгруппированы в моей DataGrid
Однако я недавно обновил код, поэтому TktDate
теперь не только сохраняет элемент Dateно также и элемент времени, поэтому ясно, что когда я имею в виду только Группировать по дате, я не могу этого сделать из-за элементов времени (я прав?) .. Так что, если это не было ясно, то здесь снимок экрана
Существует ли способ группировки по части даты TktDate и игнорирования элемента времени для моего ViewSource или я должен добавить новое свойство в свой класс для сохранения только части даты и группировки поновая собственность?
См. Свойства класса ниже
public class Ticket : INotifyPropertyChanged
{
public int userid { get; set; }
public int deptid { get; set; }
public int topicid { get; set; }
public int staffid { get; set; }
public int priorityid { get; set; }
public string poster { get; set; }
public DateTime TktDate { get; set; }
public string title { get; set; }
public string bodyopen { get; set; }
public string bodyclose { get; set; }
public string timespent { get; set; }
public string dayoffset { get; set; }
public string sysdt { get; set; }
public string Netdt { get; set; }
public string Teldt { get; set; }
public string Clidt { get; set; }
public string status { get; set; }
private string ticket;
public string Tket
В группе ViewSource I на TktDate
, которая записывает дату создания заявки.Код группировки приведен ниже, и он работал нормально
CollectionViewSource ticketViewSource = ((CollectionViewSource) (this.FindResource ("ticketViewSource")));
ticketViewSource.Source = TicketCol;
ticketDataGrid.DataContext = ticketViewSource;
//add grouping
if (ticketViewSource != null)
{
ticketViewSource.GroupDescriptions.Clear();
ticketViewSource.GroupDescriptions.Add(new PropertyGroupDescription("TktDate"));
ticketViewSource.SortDescriptions.Clear();
ticketViewSource.SortDescriptions.Add(new SortDescription("TktDate", ListSortDirection.Ascending));
}