예제 #1
0
        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;
        }
예제 #2
0
        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;
        }