//Cristian Tarea 921 /// <summary> /// Retorna la vista actual de la grilla /// </summary> /// <returns>vista</returns> private DataView updateView() { DataTable tabla = new DataTable(); /* se realiza esta comparacion porque Datasource puede contener un Datable, un DataView o un DataSet */ /* Silvina 20101213 - Tarea 921 */ if (_grillaActual.DataSource != null) /* Fin Silvina */ { /* Cristian Tarea 1054 20110207 */ string datasource = _grillaActual.DataSource.GetType().Name.ToString(); switch (datasource) { case "DataTable": tabla = (DataTable)_grillaActual.DataSource; break; case "DataView": tabla = (DataTable)((DataView)_grillaActual.DataSource).Table; break; case "DataSet": tabla = (DataTable)((DataSet)_grillaActual.DataSource).Tables[0]; break; default: break; } /* Fin Cristian */ } DataView vista = new DataView(tabla); /* Silvina 20101213 - Tarea 921 */ if ((_grillaActual.RootTable != null) && _grillaActual.RootTable.SortKeys.Count > 0 && (vista.Count > 0)) { /* Fin Silvina */ Janus.Windows.GridEX.GridEXSortKey orden = _grillaActual.RootTable.SortKeys[0]; if (orden.SortOrder.Equals(Janus.Windows.GridEX.SortOrder.Ascending)) { vista.Sort = orden.Column.DataMember + " ASC"; } else { if (orden.SortOrder.Equals(Janus.Windows.GridEX.SortOrder.Descending)) { vista.Sort = orden.Column.DataMember + " DESC"; } } //end else } return(vista); }
private void BuildUI() { tbbAnterior.Enabled = !_uiController.IsFirstTask() && !_uiController.IsFlushedState(); tbbSeparator.Enabled = !_uiController.IsFirstTask() && !_uiController.IsFlushedState(); tbbAnterior.Text = _uiController.TextoBotonAnterior; tbbSiguiente.Text = _uiController.TextoBotonSiguiente; //gridEX1.LayoutData = _uiController.Layout; gridManagerView1.Visible = false; gridManagerView1.Configure(_uiController.GetProcessName(), _uiController.GetTaskName(), "FrmComprobanteDeCompraSelectN", gridEX1, "FrmComprobanteDeCompraSelectN"); this.Text = _uiController.LeyendaFormulario; if (_uiController.GetProcessName().Equals("ProcesoOrdenDeCompraIngresarMercaderia")) { gridEX1.RootTable.SortKeys.Clear(); Janus.Windows.GridEX.GridEXSortKey sort = new Janus.Windows.GridEX.GridEXSortKey(gridEX1.RootTable.Columns["FechaRecepcionMercaderia"]); gridEX1.RootTable.SortKeys.Add(sort); } KeyPreview = true; }
//Matias 20100727 - Tarea 21 private void grilla_SortKeysChanged(object sender, EventArgs e) { //Cristian Tarea 921 20101216 Janus.Windows.GridEX.GridEX grilla = (Janus.Windows.GridEX.GridEX)sender; //Fin Tarea 921 if (_orderCodigoNumerico) { //Janus.Windows.GridEX.GridEX grilla = (Janus.Windows.GridEX.GridEX)sender; Janus.Windows.GridEX.GridEXSortKeyCollection collec = grilla.RootTable.SortKeys; ArrayList keys = new ArrayList(); foreach (Janus.Windows.GridEX.GridEXSortKey elem in collec) { if (elem.Column.Key.ToUpper().Equals("CODIGO")) { // Grilla ordenada por codigo (bajo nivel). try { // grilla.DataSource podria contener un DataTable o un DataView. DataTable tabla = new DataTable(); if (grilla.DataSource.GetType().Equals(typeof(System.Data.DataTable))) { tabla = (DataTable)grilla.DataSource; } else { if (grilla.DataSource.GetType().Equals(typeof(System.Data.DataView))) { tabla = (DataTable)((DataView)grilla.DataSource).Table; } } // Agregar a la tabla vinculada a la Grilla, si no existe, la nueva columna "CodigoNumericoInterno". if (!tabla.Columns.Contains("CodigoNumericoInterno")) { DataColumn dc = new DataColumn("CodigoNumericoInterno", System.Type.GetType("System.Int32")); tabla.Columns.Add(dc); } foreach (DataRow row in tabla.Rows) { row["CodigoNumericoInterno"] = Convert.ToInt32(row["Codigo"]); } grilla.SetDataBinding(tabla, null); grilla.RootTable.SortKeys.Clear(); Janus.Windows.GridEX.GridEXSortKey sortKey = new Janus.Windows.GridEX.GridEXSortKey(grilla.RootTable.Columns["CodigoNumericoInterno"]); if (_ascendente)//Alterna entre Asc y Desc. { sortKey.SortOrder = Janus.Windows.GridEX.SortOrder.Ascending; _ascendente = false; } else { sortKey.SortOrder = Janus.Windows.GridEX.SortOrder.Descending; _ascendente = true; } grilla.RootTable.SortKeys.Add(sortKey); grilla.MoveFirst(); break; } catch (Exception errorDeConversion) { } } } } //Cristian 20101206 Tarea 921 _grillaActual = grilla; this.SetView(this.updateView()); //Fin Tarea 921 }
private void PersonalizarGrillaDs(DataSet Datos) { //Columnas BrowserGridEX.RootTable.Columns.Clear(); if (BrowserGridEX.RootTable.ChildTables.Count != 0) { BrowserGridEX.RootTable.ChildTables.Clear(); } BrowserGridEX.Hierarchical = true; BrowserGridEX.RowHeaders = Janus.Windows.GridEX.InheritableBoolean.True; BrowserGridEX.RootTable.GroupTotals = Janus.Windows.GridEX.GroupTotals.Always; for (int t = 0; t < Datos.Tables.Count; t++) { if (t == 1) { Janus.Windows.GridEX.GridEXTable table = new Janus.Windows.GridEX.GridEXTable(); BrowserGridEX.RootTable.ChildTables.Add(table); BrowserGridEX.RootTable.ChildTables[t - 1].Key = "Nivel" + Convert.ToString(t + 1); BrowserGridEX.RootTable.ChildTables[t - 1].Caption = "Nivel" + Convert.ToString(t + 1); } else if (t > 1) { Janus.Windows.GridEX.GridEXTable table = new Janus.Windows.GridEX.GridEXTable(); BrowserGridEX.RootTable.ChildTables[0].ChildTables.Add(table); BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Key = "Nivel" + Convert.ToString(t + 1); BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Caption = "Nivel" + Convert.ToString(t + 1); } for (int i = 0; i < Datos.Tables[t].Columns.Count; i++) { string nombre = Datos.Tables[t].Columns[i].ColumnName; if (t == 1) { BrowserGridEX.RootTable.ChildTables[t - 1].Columns.Add(nombre, Janus.Windows.GridEX.ColumnType.Text); int elemento = BrowserGridEX.RootTable.ChildTables[t - 1].Columns.Count - 1; BrowserGridEX.RootTable.ChildTables[t - 1].Columns[elemento].Caption = Datos.Tables[t].Columns[i].Caption; if (elemento == 2) { BrowserGridEX.RootTable.ChildTables[0].Columns[elemento].Width = 300; } } else if (t > 1) { BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns.Add(nombre, Janus.Windows.GridEX.ColumnType.Text); int elemento = BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns.Count - 1; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].Caption = Datos.Tables[t].Columns[i].Caption; string tipo = Datos.Tables[t].Columns[i].DataType.Name; switch (tipo) { case "String": switch (nombre) { case "Descr": BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].Width = 350; break; } break; case "Double": case "Decimal": BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].FormatMode = Janus.Windows.GridEX.FormatMode.UseIFormattable; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].FormatString = "######,##0.00;(-######,##0.00)"; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].DefaultGroupFormatString = "######,##0.00;(-######,##0.00)"; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].TotalFormatString = "######,##0.00;(-######,##0.00)"; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].TextAlignment = Janus.Windows.GridEX.TextAlignment.Far; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].AggregateFunction = Janus.Windows.GridEX.AggregateFunction.Sum; switch (nombre) { case "Total Saldo": BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].Width = 95; break; default: BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].Width = 75; break; } break; case "DateTime": BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].FormatMode = Janus.Windows.GridEX.FormatMode.UseIFormattable; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].FormatString = "dd/MM/yyyy"; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].TextAlignment = Janus.Windows.GridEX.TextAlignment.Center; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].Width = 75; BrowserGridEX.RootTable.ChildTables[0].ChildTables[t - 2].Columns[elemento].Visible = true; break; } } else { BrowserGridEX.RootTable.Columns.Add(nombre, Janus.Windows.GridEX.ColumnType.Text); int elemento = BrowserGridEX.RootTable.Columns.Count - 1; BrowserGridEX.RootTable.Key = "Nivel1"; BrowserGridEX.RootTable.Caption = "Nivel1"; BrowserGridEX.RootTable.Columns[elemento].Width = 100; BrowserGridEX.RootTable.Columns[elemento].Caption = Datos.Tables[t].Columns[i].Caption; } } } BrowserGridEX.BindingContext = new BindingContext(); BrowserGridEX.RootTable.ChildTables["Nivel2"].DataMember = "Nivel1_Nivel2"; BrowserGridEX.RootTable.ChildTables["Nivel2"].ChildTables["Nivel3"].DataMember = "Nivel2_Nivel3"; BrowserGridEX.RootTable.ChildTables["Nivel2"].ChildTables["Nivel4"].DataMember = "Nivel2_Nivel4"; BrowserGridEX.RootTable.ChildTables[0].Columns[0].Visible = false; BrowserGridEX.RootTable.Groups.Clear(); Janus.Windows.GridEX.GridEXGroup grupo1 = new Janus.Windows.GridEX.GridEXGroup(BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[4]); grupo1.GroupInterval = Janus.Windows.GridEX.GroupInterval.Value; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[0].Visible = false; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[1].Visible = false; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[3].Visible = false; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[4].Visible = false; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[5].Visible = false; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Groups.Add(grupo1); BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Groups[0].GroupPrefix = ""; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Groups[0].HeaderCaption = ""; Janus.Windows.GridEX.GridEXSortKey s = new Janus.Windows.GridEX.GridEXSortKey(); s.Column = BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[2]; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].SortKeys.Add(s); Janus.Windows.GridEX.GridEXGroup grupo2 = new Janus.Windows.GridEX.GridEXGroup(BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Columns[1]); grupo2.GroupInterval = Janus.Windows.GridEX.GroupInterval.Value; BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Groups.Add(grupo2); BrowserGridEX.RootTable.ChildTables[0].ChildTables[0].Groups[1].GroupPrefix = ""; grupo2.SortOrder = Janus.Windows.GridEX.SortOrder.Descending; Janus.Windows.GridEX.GridEXGroup grupo3 = new Janus.Windows.GridEX.GridEXGroup(BrowserGridEX.RootTable.ChildTables[0].ChildTables[1].Columns[3]); grupo3.GroupInterval = Janus.Windows.GridEX.GroupInterval.Value; BrowserGridEX.RootTable.ChildTables[0].ChildTables[1].Groups.Add(grupo3); BrowserGridEX.RootTable.ChildTables[0].ChildTables[1].Groups[0].GroupPrefix = ""; BrowserGridEX.RootTable.ChildTables[0].ChildTables[1].Columns[0].Visible = false; BrowserGridEX.RootTable.ChildTables[0].ChildTables[1].Columns[3].Visible = false; }