// Method to update the CaptionSummaryCell public override void OnUpdateEditBinding(DataColumnBase dataColumn, GridCaptionSummaryCell element, object dataContext) { GridColumn column = dataColumn.GridColumn; if (element.DataContext is Group && this.DataGrid.View.GroupDescriptions.Count > 0) { var groupRecord = element.DataContext as Group; //get the column which is grouped. var groupedColumn = this.GetGroupedColumn(groupRecord); if (this.DataGrid.CaptionSummaryRow == null) { if (this.DataGrid.View.GroupDescriptions.Count < groupRecord.Level) { return; } //set the captionsummary text as customized. element.Content = GetCustomizedCaptionText(groupedColumn.HeaderText, groupRecord.Key, groupRecord.ItemsCount); } else if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow) { element.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View, groupedColumn.HeaderText); } else { element.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, column.MappingName, this.DataGrid.View); } } }
// Method to initialize the CaptionSummaryCell. public override void OnInitializeEditElement(DataColumnBase dataColumn, GridCaptionSummaryCell uiElement, object dataContext) { GridColumn column = dataColumn.GridColumn; if (dataContext is Group) { var groupRecord = dataContext as Group; if (this.DataGrid.CaptionSummaryRow == null) { // get the column which is grouped var groupedColumn = this.GetGroupedColumn(groupRecord); //set the captionsummarycell text as customized. uiElement.Content = GetCustomizedCaptionText(groupedColumn.HeaderText, groupRecord.Key, groupRecord.ItemsCount); } else if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow) { uiElement.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View); } else { uiElement.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, column.MappingName, this.DataGrid.View); } } }
/// <summary> /// Method to update the CaptionSummaryCell /// </summary> public override void OnUpdateEditBinding(DataColumnBase dataColumn, GridCaptionSummaryCell element, object dataContext) { if (element.DataContext is Group && this.DataGrid.View.GroupDescriptions.Count > 0) { string groupName = string.Empty; string groupText = string.Empty; var groupRecord = element.DataContext as Group; //get the column which is grouped. var groupedColumn = this.GetGroupedColumn(groupRecord); var groupRecords = (groupRecord.Details as GroupRecordEntry).Records; var groupData = (groupRecords[0] as RecordEntry).Data; if (groupedColumn.MappingName == "EmployeeID") { groupName = (groupData as BusinessObject).EmployeeName; groupText = "Employee Name"; } else { groupName = groupRecord.Key.ToString(); groupText = groupedColumn.HeaderText; } if (this.DataGrid.CaptionSummaryRow == null) { if (this.DataGrid.View.GroupDescriptions.Count < groupRecord.Level) { return; } //set the captionsummary text as customized. element.Content = GetCustomizedCaptionText(groupText, groupName, groupRecord.ItemsCount); } else if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow) { element.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View, groupedColumn.HeaderText); } else { element.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, dataColumn.GridColumn.MappingName, this.DataGrid.View); } } }
public override void OnInitializeEditElement(DataColumnBase dataColumn, GridCaptionSummaryCell uiElement, object dataContext) { if (dataContext is Group) { var groupRecord = dataContext as Group; if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow) { uiElement.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View); } else { uiElement.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, dataColumn.GridColumn.MappingName, this.DataGrid.View); if (uiElement.Content == (object)"" && dataColumn.GridColumn.MappingName == "EmployeeName")//&& this.DataGrid.GroupColumnDescriptions.Any(col => col.ColumnName == dataColumn.GridColumn.MappingName)) { uiElement.Content = groupRecord.Key; } } } }
/// <summary> /// Method to initialize the CaptionSummaryCell. /// </summary> public override void OnInitializeEditElement(DataColumnBase dataColumn, GridCaptionSummaryCell uiElement, object dataContext) { if (dataContext is Group) { string groupName = string.Empty; var groupRecord = dataContext as Group; if (this.DataGrid.CaptionSummaryRow == null) { // get the column which is grouped var groupedColumn = this.GetGroupedColumn(groupRecord); //set the captionsummarycell text as customized. var groupRecords = (groupRecord.Details as GroupRecordEntry).Records; var groupData = (groupRecords[0] as RecordEntry).Data; if (groupedColumn.MappingName == "EmployeeID") { groupName = (groupData as BusinessObject).EmployeeName; } else { groupName = groupRecord.Key.ToString(); } uiElement.Content = GetCustomizedCaptionText(groupedColumn.HeaderText, groupName, groupRecord.ItemsCount); } else if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow) { uiElement.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View); } else { uiElement.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, dataColumn.GridColumn.MappingName, this.DataGrid.View); } } }
public override void OnUpdateEditBinding(DataColumnBase dataColumn, GridCaptionSummaryCell element, object dataContext) { if (element.DataContext is Group && this.DataGrid.View.GroupDescriptions.Count > 0) { var groupRecord = element.DataContext as Group; //get the column which is grouped. var groupedColumn = this.GetGroupedColumn(groupRecord); if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow) { element.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View, groupedColumn.HeaderText); } else { element.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, dataColumn.GridColumn.MappingName, this.DataGrid.View); if (element.Content == (object)"" && dataColumn.GridColumn.MappingName == this.DataGrid.Columns.FirstOrDefault(col => !col.IsHidden).MappingName) { element.Content = groupRecord.Key; } } } }