示例#1
0
        // 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);
                }
            }
        }
示例#2
0
        // 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);
                }
            }
        }
        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)
                {
                    var groupedColumn = this.GetGroupedColumn(groupRecord);

                    //WPF-20212 - If we add the column in GroupColumnDescription which is not placed in SfDataGrid column collections, skipped here to group by that column.
                    ColumnGroupDescription groupDesc = null;
                    if (groupedColumn == null)
                    {
                        groupDesc = this.DataGrid.View.GroupDescriptions[groupRecord.Level - 1] as ColumnGroupDescription;
                        if (groupDesc == null)
                        {
                            return;
                        }
                    }
                    string stringFormat = this.DataGrid.GroupCaptionTextFormat ?? this.DataGrid.GroupCaptionConstant;
                    var    headerText   = groupedColumn != null ? groupedColumn.HeaderText : groupDesc.PropertyName;
                    uiElement.Content = this.DataGrid.View.TopLevelGroup.GetGroupCaptionText(groupRecord, stringFormat, headerText);
                }
                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);
                }
            }
        }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var data = value != null ? value as Group : null;

            if (data != null)
            {
                var dataGrid    = (SfDataGrid)parameter;
                var summaryText = SummaryCreator.GetSummaryDisplayTextForRow((value as Group).SummaryDetails, dataGrid.View);

                return(summaryText);
            }
            return(string.Empty);
        }
        public override void OnUpdateEditBinding(DataColumnBase dataColumn, GridTableSummaryCell element, object dataContext)
        {
            GridColumn column = dataColumn.GridColumn;

            if (dataContext is SummaryRecordEntry)
            {
                var record = dataContext as SummaryRecordEntry;
                if (record.SummaryRow.ShowSummaryInRow)
                {
                    element.Content = SummaryCreator.GetSummaryDisplayTextForRow(record, this.DataGrid.View);
                }
                else
                {
                    element.Content = SummaryCreator.GetSummaryDisplayText(record, column.MappingName, this.DataGrid.View);
                }
            }
        }
        public override void OnInitializeEditElement(DataColumnBase dataColumn, GridGroupSummaryCell uiElement, object dataContext)
        {
            GridColumn column = dataColumn.GridColumn;

            if (dataContext is SummaryRecordEntry)
            {
                var record = dataContext as SummaryRecordEntry;
                if (record.SummaryRow.ShowSummaryInRow)
                {
                    uiElement.Content = SummaryCreator.GetSummaryDisplayTextForRow(record, this.DataGrid.View);
                }
                else
                {
                    uiElement.Content = SummaryCreator.GetSummaryDisplayText(record, 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);
                }
            }
        }
示例#8
0
 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;
             }
         }
     }
 }
        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;
                var groupedColumn = this.GetGroupedColumn(groupRecord);

                ColumnGroupDescription groupDesc = null;
                //WPF-20212 - If we add the column in GroupColumnDescription which is not placed in SfDataGrid column collections, skipped here to group by that column.
                if (groupedColumn == null)
                {
                    groupDesc = this.DataGrid.View.GroupDescriptions[groupRecord.Level - 1] as ColumnGroupDescription;
                    if (groupDesc == null)
                    {
                        return;
                    }
                }
                // WPF-36158 When we defined GroupColumnDescription column name are not mentioned in SfGrid columns. So the header text are not applied to summary rows.
                var headerText = groupedColumn != null ? groupedColumn.HeaderText : groupDesc.PropertyName;
                if (this.DataGrid.CaptionSummaryRow == null)
                {
                    if (this.DataGrid.View.GroupDescriptions.Count < groupRecord.Level)
                    {
                        return;
                    }
                    var stringFormat = this.DataGrid.GroupCaptionTextFormat ?? this.DataGrid.GroupCaptionConstant;
                    element.Content = this.DataGrid.View.TopLevelGroup.GetGroupCaptionText(groupRecord, stringFormat, headerText);
                }
                else if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow)
                {
                    element.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View, headerText);
                }
                else
                {
                    element.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, column.MappingName, this.DataGrid.View);
                }
            }
        }
        /// <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);
                }
            }
        }
示例#11
0
        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;
                    }
                }
            }
        }