using AIMSBLL; using AIMSExtension; using AIMSModel; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Windows.Forms; namespace AIMS.OperationAfter.UI { public partial class frmExportConfig : Form { public SysConfig exportConfig; public DataGridView _dgv; public string DataGridViewPath; public string SysName; private frmExportConfig() { InitializeComponent(); this.FormBorderStyle = FormBorderStyle.FixedSingle; } public frmExportConfig(DataGridView dgv, SysConfig _exportConfig, string dataGridViewPath, string name) { InitializeComponent(); this._dgv = dgv; this.exportConfig = _exportConfig; DataGridViewPath = dataGridViewPath; SysName = name; } private void frmSelGridColusView_Load(object sender, EventArgs e) { if (_dgv == null) return; LoadSettingSource(_dgv); if (exportConfig != null) { if (exportConfig.Value != null) { ExportConfig dataGridViewSetting = JsonConvert.DeserializeObject(exportConfig.Value); txtName.Text = dataGridViewSetting.Title; txtFontSize.Value = dataGridViewSetting.FontSize; cmbIsHD.Checked = dataGridViewSetting.Landscape; foreach (DataGridViewRow column in dataGridView2.Rows) { foreach (var item in dataGridViewSetting.Exports) { if (column.Cells[0].Value.ToString() == item.Name) { column.Cells["widthDataGridViewTextBoxColumn"].Value = item.Width; column.Cells["visibleDataGridViewCheckBoxColumn"].Value = item.IsVisible; column.Cells["printShow"].Value = item.IsPrint; column.Cells["printWidth"].Value = item.PrintWidth; column.Cells["PrintSize"].Value = item.PrintSize; } } } } } else { exportConfig = new SysConfig(); txtName.Text = Name; txtFontSize.Value = 9; cmbIsHD.Checked = true; foreach (DataGridViewRow column in dataGridView2.Rows) { column.Cells["printShow"].Value = true; column.Cells["printWidth"].Value = 8; column.Cells["PrintSize"].Value = 8; } } } private void LoadSettingSource(DataGridView dgv) { int _lineNumber = 0; foreach (DataGridViewColumn dataGridViewColumn in dgv.Columns) { DataGridViewRow drc = new DataGridViewRow(); drc.CreateCells(dataGridView2); drc.Cells[0].Value = dataGridViewColumn.Name; drc.Cells[1].Value = dataGridViewColumn.HeaderText; drc.Cells[2].Value = dataGridViewColumn.MinimumWidth; drc.Cells[3].Value = dataGridViewColumn.ReadOnly; drc.Cells[4].Value = dataGridViewColumn.Visible; drc.Cells[5].Value = dataGridViewColumn.Width; dataGridView2.Rows.Insert(_lineNumber, drc); _lineNumber++; } } private void tsbCancel_Click(object sender, EventArgs e) { this.Close(); } private void tsbSave_Click(object sender, EventArgs e) { try { EndEdit(); exportConfig.Name = txtName.Text; exportConfig.Note = DataGridViewPath; ExportConfig dgvSetting = CreateDataGridViewSetting(dataGridView2); string ss = JsonConvert.SerializeObject(dgvSetting); exportConfig.Value = ss; exportConfig.IsValid = 1; exportConfig.OperatorNo = PublicMethod.OperatorNo; exportConfig.OperatorName = PublicMethod.OperatorName; exportConfig.OperateDate = DateTime.Now; exportConfig.Extend1 = PublicMethod.RoleId.ToString(); if (exportConfig.Id != null && exportConfig.Id.Value > 0) { BSysConfig.Update(exportConfig); } else { exportConfig.Id = BSysConfig.Insert(exportConfig); } } catch (Exception ex) { throw ex; } DialogResult = DialogResult.OK; Close(); } private ExportConfig CreateDataGridViewSetting(DataGridView dataGridView) { ExportConfig dataGridViewSetting = new ExportConfig(); dataGridViewSetting.Title = txtName.Text; dataGridViewSetting.Path = DataGridViewPath; dataGridViewSetting.FontSize = int.Parse(txtFontSize.Value.ToString()); dataGridViewSetting.Landscape = cmbIsHD.Checked; dataGridViewSetting.Exports = new List(); foreach (DataGridViewRow column in dataGridView.Rows) { ExportItem export = new ExportItem(); export.Name = column.Cells["dataPropertyNameDataGridViewTextBoxColumn"].Value.ToString(); export.Text = column.Cells["headerTextDataGridViewTextBoxColumn"].Value.ToString(); export.PrintName = column.Cells["headerTextDataGridViewTextBoxColumn"].Value.ToString(); export.Width = int.Parse(column.Cells["widthDataGridViewTextBoxColumn"].Value.ToString()); export.IsVisible = bool.Parse(column.Cells["visibleDataGridViewCheckBoxColumn"].Value.ToString()); export.IsPrint = column.Cells["printShow"].Value==null?false:bool.Parse(column.Cells["printShow"].Value.ToString()); export.PrintWidth =column.Cells["printWidth"].Value==null?8: int.Parse(column.Cells["printWidth"].Value.ToString()); export.PrintSize =column.Cells["PrintSize"].Value==null?8: int.Parse(column.Cells["PrintSize"].Value.ToString()); dataGridViewSetting.Exports.Add(export); } return dataGridViewSetting; } private void EndEdit() { this.Validate(); } } }