CsvExportForm.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using FastReport.Export;
  2. using FastReport.Export.Csv;
  3. using FastReport.Utils;
  4. using System.Globalization;
  5. using System.Text;
  6. namespace FastReport.Forms
  7. {
  8. /// <summary>
  9. /// Form for <see cref="CSVExport"/>.
  10. /// For internal use only.
  11. /// </summary>
  12. public partial class CsvExportForm : BaseExportForm
  13. {
  14. /// <inheritdoc/>
  15. public override void Init(ExportBase export)
  16. {
  17. base.Init(export);
  18. CSVExport csvExport = Export as CSVExport;
  19. tbSeparator.Text = csvExport.Separator;
  20. if (csvExport.Encoding == Encoding.Default)
  21. cbbCodepage.SelectedIndex = 0;
  22. else if (csvExport.Encoding == Encoding.UTF8)
  23. cbbCodepage.SelectedIndex = 1;
  24. else if (csvExport.Encoding == Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage))
  25. cbbCodepage.SelectedIndex = 2;
  26. cbDataOnly.Checked = csvExport.DataOnly;
  27. cbNoQuotes.Checked = csvExport.NoQuotes;
  28. cbEscapeQuotes.Checked = csvExport.EscapeQuotes;
  29. }
  30. /// <inheritdoc/>
  31. protected override void Done()
  32. {
  33. base.Done();
  34. CSVExport csvExport = Export as CSVExport;
  35. csvExport.Separator = tbSeparator.Text;
  36. if (cbbCodepage.SelectedIndex == 0)
  37. csvExport.Encoding = Encoding.Default;
  38. else if (cbbCodepage.SelectedIndex == 1)
  39. csvExport.Encoding = Encoding.UTF8;
  40. else if (cbbCodepage.SelectedIndex == 2)
  41. csvExport.Encoding = Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage);
  42. csvExport.DataOnly = cbDataOnly.Checked;
  43. csvExport.NoQuotes = cbNoQuotes.Checked;
  44. csvExport.EscapeQuotes = cbEscapeQuotes.Checked;
  45. }
  46. /// <inheritdoc/>
  47. public override void Localize()
  48. {
  49. base.Localize();
  50. MyRes res = new MyRes("Export,Csv");
  51. Text = res.Get("");
  52. lblSeparator.Text = res.Get("Separator");
  53. lblCodepage.Text = res.Get("Codepage");
  54. cbbCodepage.Items[0] = res.Get("Default");
  55. cbbCodepage.Items[1] = res.Get("Unicode");
  56. cbbCodepage.Items[2] = res.Get("OEM");
  57. cbDataOnly.Text = res.Get("DataOnly");
  58. cbNoQuotes.Text = res.Get("NoQuotes");
  59. cbEscapeQuotes.Text = res.Get("EscapeQuotes");
  60. res = new MyRes("Export,Misc");
  61. gbOptions.Text = res.Get("Options");
  62. }
  63. ///<inheritdoc/>
  64. /// <summary>
  65. /// Initializes a new instance of the <see cref="CsvExportForm"/> class.
  66. /// </summary>
  67. public CsvExportForm()
  68. {
  69. InitializeComponent();
  70. }
  71. private void cbNoQuotes_CheckedChanged(object sender, System.EventArgs e)
  72. {
  73. cbEscapeQuotes.Enabled = !cbNoQuotes.Checked;
  74. cbEscapeQuotes.Checked = false;
  75. }
  76. }
  77. }