private void cargarInfoGrillaAnterior(Janus.Windows.GridEX.GridEX grilla, GridVariablesLoader _loader) { _grilla = grilla; string columnasAgrup = String.Empty; string columnasTotal = String.Empty; ArrayList agrupadas = new ArrayList(); Janus.Windows.GridEX.GridEXGroupCollection grupos = _grilla.RootTable.Groups; foreach (Janus.Windows.GridEX.GridEXGroup g in grupos) { agrupadas.Add(g.Column.DataMember.ToString()); } this.ColumnasGrupo = agrupadas; //TODO: esto habria q ver si se puede sacar de la grilla las columnas por las q totaliza, por ahora son fijas, pero podrian ser dinamicas. columnasTotal = _loader.TotalGroups; this.ColumnasTotales = mz.erp.systemframework.Util.Parse(columnasTotal); //Solo estas columnas tienen q quedar visibles en el layout Hashtable _posiciones = new Hashtable(); foreach (Janus.Windows.GridEX.GridEXColumn columna in _grilla.RootTable.Columns) { columna.Visible = false; _posiciones.Add(Convert.ToString(columna.DataMember), columna.Position); } this._posicionColumnas = _posiciones; }
public void nuevoLayout(Janus.Windows.GridEX.GridEX grilla, GridVariablesLoader _loader) { _grilla = grilla; this.cargarInfoGrillaAnterior(_grilla, _loader); //Aca tengo todas las columnas de la 'nueva grilla', recorro la grilla para quedarme con el tipo y ponerlas visibles ArrayList nuevasColum = new ArrayList(); nuevasColum.AddRange(ColumnasGrupo); foreach (string col in ColumnasTotales) { if (!nuevasColum.Contains(col)) { nuevasColum.Add(col); } } DataTable dataTable = new DataTable(); int i = 1; foreach (string s in nuevasColum) { grilla.RootTable.Columns[s].Visible = true; grilla.RootTable.Columns[s].Position = i; i++; //DataColumn columna=new DataColumn(Convert.ToString(s)); DataColumn columna = new DataColumn(s); /* Silvina 20100914 */ //columna.DataType =_grilla.RootTable.Columns[s].GetType(); columna.DataType = _grilla.RootTable.Columns[s].Type; /* Fin Silvina */ dataTable.Columns.Add(columna); } //Carga el nuevo datasource con los datos q necesita dataTable = this.cargarTabla(dataTable, _grilla); //Una vez q tengo todos los datos cargados para la grilla nueva, vuelo los grupos _grilla.RootTable.Groups.Clear(); this._dataSource = dataTable; }