2 using System.Collections.Generic;
3 using System.ComponentModel;
10 namespace sage.ew.perfiles.Forms
17 # region 1. Declaración de variables 23 public bool _Aceptar =
false;
25 private DataTable _dtColumnas = null;
27 # endregion 1. Declaración de variables 29 # region 2. Constructor 35 InitializeComponent();
37 this._MenuOpcionesBoton =
false;
40 this.Configurar_Grid();
42 # endregion 2. Constructor 44 # region 3. Métodos privados 45 private void Configurar_Grid()
48 this.grManteGrid.AllowUserToOrderColumns =
false;
51 _dtColumnas = PROFILES.dtColumnas.Clone();
56 if (PROFILES._Tipodoc == 1 || PROFILES._Tipodoc == 3)
58 ldrOrden = PROFILES.dtColumnas.Select(
"Nombre_Columna <> 'Servidas' AND Nombre_Columna <> 'Cajaserv'",
"DisplayIndex");
60 ldrOrden = PROFILES.dtColumnas.Select(
"Nombre_Columna <> 'Vendedor' AND Nombre_Columna <> 'Puntos'",
"DisplayIndex");
62 foreach (DataRow ldRow
in ldrOrden)
64 _dtColumnas.ImportRow(ldRow);
67 _dtColumnas.AcceptChanges();
73 this.grManteGrid.DataSource = _dtColumnas;
76 this.grManteGrid.Columns[
"Seleccion"].DataPropertyName =
"Seleccion";
77 this.grManteGrid.Columns[
"Seleccion"].HeaderText =
"Selección";
78 this.grManteGrid.Columns[
"Seleccion"].Width = 60;
81 this.grManteGrid.Columns[
"Nombre_Columna"].Visible =
false;
82 this.grManteGrid.Columns[
"DisplayIndex"].Visible =
false;
83 this.grManteGrid.Columns[
"Visible"].Visible =
false;
85 this.grManteGrid.Columns[
"Titulo"].DataPropertyName =
"Titulo";
86 this.grManteGrid.Columns[
"Titulo"].HeaderText =
"Definición";
87 this.grManteGrid.Columns[
"Titulo"].Width = 200;
88 this.grManteGrid.Columns[
"Titulo"].ReadOnly =
true;
90 this.grManteGrid.Columns[
"Ancho"].DataPropertyName =
"Ancho";
91 this.grManteGrid.Columns[
"Ancho"].HeaderText =
"Ancho";
92 this.grManteGrid.Columns[
"Ancho"].Width = 100;
95 this.grManteGrid.CellBorderStyle = DataGridViewCellBorderStyle.Single;
98 private void cmdCancelar_Click(
object sender, EventArgs e)
104 private void cmdAceptar_Click(
object sender, EventArgs e)
107 this.Cambios_Datatable();
110 this._Aceptar =
true;
116 private void Cambios_Datatable()
119 string lcNombre_Columna =
string.Empty;
122 foreach (DataRow ldrActual
in _dtColumnas.Rows)
125 lcNombre_Columna = Convert.ToString(ldrActual[
"Nombre_Columna"]);
127 DataRow[] ldrOrden = PROFILES.dtColumnas.Select(
"Nombre_Columna = '" + lcNombre_Columna +
"'",
"");
129 if (ldrOrden.Count() > 0 && Convert.ToBoolean(ldrOrden[0][
"Seleccion"]) != Convert.ToBoolean(ldrActual[
"Seleccion"]))
131 ldrOrden[0][
"Seleccion"] = ldrActual[
"Seleccion"];
135 if (ldrOrden.Count() > 0 && Convert.ToInt32(ldrOrden[0][
"Ancho"]) != Convert.ToInt32(ldrActual[
"Ancho"]))
137 ldrOrden[0][
"Ancho"] = ldrActual[
"Ancho"];
143 PROFILES.dtColumnas.AcceptChanges();
152 private void grManteGrid_CellValueChanged(
object sender, DataGridViewCellEventArgs e)
155 if (e.ColumnIndex == 0 && (e.RowIndex == 0 || e.RowIndex == 1))
157 this.grManteGrid.Rows[e.RowIndex].Cells[
"Seleccion"].Value =
true;
158 this.grManteGrid.Refresh();
162 private void grManteGrid_CellClick(
object sender, DataGridViewCellEventArgs e)
164 if (e.ColumnIndex == 0 && e.RowIndex == 0)
166 functions.FUNCTIONS._MessageBox(
"La columna de artículo es obligatoria.",
"Gestión de perfiles", MessageBoxButtons.OK, MessageBoxIcon.Information,
this);
167 grManteGrid.CurrentCell = grManteGrid.CurrentRow.Cells[1];
170 if (e.ColumnIndex == 0 && e.RowIndex == 1)
172 functions.FUNCTIONS._MessageBox(
"La columna de definición es obligatoria.",
"Gestión de perfiles", MessageBoxButtons.OK, MessageBoxIcon.Information,
this);
173 grManteGrid.CurrentCell = grManteGrid.CurrentRow.Cells[1];
177 # endregion 3. Métodos privados