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);
        }
        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);
        }