Beispiel #1
0
        protected override void StartHeaderField(FilterDataGrid filterDataGrid, DataGridWpfColumnViewModel column)
        {
            this.WriteToBaseStream(this.FormatSettings.HeaderFieldStartDelimiter);

            object columnHeader = (this.UseFieldNamesInHeader || (column.Title == null)) ? column.FieldName : column.Title;

            string fieldValueString = FormatHelper.FormatHtmlFieldData(null, columnHeader, this.FormatSettings);

            this.WriteToBaseStream(fieldValueString);
            this.WriteToBaseStream(this.FormatSettings.HeaderFieldEndDelimiter);
        }
        protected override void StartDataItemField(FilterDataGrid filterDataGrid, DataGridWpfColumnViewModel column, object rawFieldValue, object formattedFieldValue, string dataDisplayFormat, string dataExportFormat)
        {
            // We always insert the separator before the value except for the first item
            if (!this._isFirstColumn)
            {
                this.WriteToBaseStream(this.FormatSettings.Separator);
            }
            else
            {
                this._isFirstColumn = false;
            }

            string fieldValueString = UnicodeCsvClipboardExporter.FormatCsvData(null, formattedFieldValue, this.FormatSettings);

            this.WriteToBaseStream(fieldValueString);
        }
Beispiel #3
0
        public static IEnumerable <DataGridWpfColumnViewModel> BuildColumns(IEnumerable <PlusPropertyDescriptor> fields)
        {
            if (fields == null)
            {
                return(null);
            }

            int index = 0;

            foreach (PlusPropertyDescriptor item in fields)
            {
                item.Order = index++;
            }

            List <DataGridWpfColumnViewModel> result = new();

            foreach (PlusPropertyDescriptor field in fields)
            {
                if (field == null)
                {
                    System.Diagnostics.Debugger.Break();
                }

                TypeCode typecode = Type.GetTypeCode(field.PropertyType);

                if (Nullable.GetUnderlyingType(field.PropertyType) != null)
                {
                    typecode = Type.GetTypeCode(Nullable.GetUnderlyingType(field.PropertyType));
                }

                DataGridWpfColumnViewModel cvm = new DataGridWpfColumnViewModel()
                {
                    FieldName                     = field.Name,
                    Title                         = field.DisplayName,
                    DisplayIndex                  = field.Order,
                    IsVisible                     = field.IsVisible,
                    GroupName                     = field.GroupName,
                    CellContentStringFormat       = field.DataFormatString,
                    CellContentExportStringFormat = field.ExportFormatString,
                };

                cvm.DataType = field.PropertyType;
                result.Add(cvm);
            }

            return(result);
        }
        protected override void StartHeaderField(FilterDataGrid filterDataGrid, DataGridWpfColumnViewModel column)
        {
            // We always insert the separator before the value except for the first item
            if (!this._isFirstColumn)
            {
                this.WriteToBaseStream(this.FormatSettings.Separator);
            }
            else
            {
                this._isFirstColumn = false;
            }

            object columnHeader     = (this.UseFieldNamesInHeader || (column.Title == null)) ? column.FieldName : column.Title;
            string fieldValueString = UnicodeCsvClipboardExporter.FormatCsvData(null, columnHeader, this.FormatSettings);

            this.WriteToBaseStream(fieldValueString);
        }
Beispiel #5
0
        protected override void StartDataItemField(FilterDataGrid filterDataGrid, DataGridWpfColumnViewModel column, object rawFieldValue, object formattedFieldValue, string dataDisplayFormat, string dataExportFormat)
        {
            this.WriteToBaseStream(this.FormatSettings.FieldStartDelimiter);

            string fieldValueString;

            if (string.IsNullOrEmpty(dataExportFormat) == false)
            {
                fieldValueString = string.Format(this.FormatSettings.Culture, "{0:" + dataExportFormat + "}", rawFieldValue);
            }
            else
            {
                fieldValueString = FormatHelper.FormatHtmlFieldData(null, rawFieldValue, this.FormatSettings);
            }

            this.WriteToBaseStream(fieldValueString);
            this.WriteToBaseStream(this.FormatSettings.FieldEndDelimiter);
        }
Beispiel #6
0
            private void ExportDataItemCore(FilterDataGrid filterDataGrid,
                                            ClipboardExporterBase clipboardExporter,
                                            object item,
                                            System.Windows.Controls.DataGridCellInfo[] cells,
                                            DataGridWpfColumnViewModel[] wpfColumns,
                                            System.Windows.Controls.DataGridColumn[] dataGridColumns)
            {
                clipboardExporter.StartDataItem(filterDataGrid, item);

                // Ensure the count does not exceeds the columns count
                int columnsCount = wpfColumns.Length;

                Type itemType = item.GetType();

                for (int i = 0; i < columnsCount; i++)
                {
                    DataGridWpfColumnViewModel               wpfColumn        = wpfColumns[i];
                    System.Windows.Controls.DataGridColumn   dataGidColumn    = dataGridColumns[i];
                    System.Windows.Controls.DataGridCellInfo dataGridCellInfo = cells[i];

                    (object rawValue, object formattedValue)field = (default, default);
Beispiel #7
0
 protected virtual void EndHeaderField(FilterDataGrid filterDataGrid, DataGridWpfColumnViewModel column)
 {
 }
Beispiel #8
0
 protected virtual void EndDataItemField(FilterDataGrid filterDataGrid, DataGridWpfColumnViewModel column, object rawFieldValue, object formattedFieldValue, string dataDisplayFormat, string dataExportFormat)
 {
 }