/// <summary> /// Devuelve un DataTable de un GridEx /// </summary> /// <param name="JanusGridEx"></param> /// <param name="tableName"></param> /// <returns></returns> public static DataSet GetDataSetFromJanusGridEx(Janus.Windows.GridEX.GridEX JanusGridEx, string tableName) { DataSet JanusDataSet = new DataSet(); DataTable JanusDataTable = new DataTable(tableName); DataRow JanusDataRow = null; Janus.Windows.GridEX.GridEXRow[] JanusRows; JanusRows = JanusGridEx.GetRows(); int columnas = JanusGridEx.RootTable.Columns.Count; if (JanusGridEx.GroupTotals == Janus.Windows.GridEX.GroupTotals.Never) { for (int q = 0; q < columnas; q++) { if (JanusGridEx.RootTable.Columns[q].Visible == true) { Janus.Windows.GridEX.GridEXColumn gec = JanusGridEx.RootTable.Columns[q]; System.Data.DataColumn dc = new DataColumn(); dc.ColumnName = gec.Key; dc.Caption = gec.Caption; if (!JanusDataTable.Columns.Contains(gec.Key)) { JanusDataTable.Columns.Add(dc); } } } JanusDataTable.AcceptChanges(); for (int registros = 0; registros < JanusGridEx.RowCount; registros++) { JanusDataRow = JanusDataTable.NewRow(); for (int counter = 0; counter < columnas; counter++) { string columna = Convert.ToString(JanusGridEx.RootTable.Columns[counter].Key); if (EsFilaDeAgrupamiento(JanusGridEx.GetRow(registros))) { string auxValor = Convert.ToString(JanusGridEx.GetRow(registros).GroupValue); auxValor += Convert.ToString(JanusDataRow[0]); if (JanusGridEx.GetRow(registros).GroupValue != null && JanusGridEx.GetRow(registros).GroupValue.GetType() == System.Type.GetType("System.DateTime")) { JanusDataRow[0] = ((DateTime)JanusGridEx.GetRow(registros).GroupValue).ToString("MM/dd/yyyy") + Convert.ToString(JanusDataRow[0]); } else { JanusDataRow[0] = auxValor; } break; } else if (JanusGridEx.RootTable.Columns[columna].Visible == true) { if (JanusGridEx.GetRow(registros).Cells[columna].Value != null && JanusGridEx.GetRow(registros).Cells[columna].Value.GetType() == System.Type.GetType("System.DateTime")) { JanusDataRow[columna] = ((DateTime)JanusGridEx.GetRow(registros).Cells[columna].Value).ToString("MM/dd/yyyy"); } else { JanusDataRow[columna] = JanusGridEx.GetRow(registros).Cells[columna].Text; } } } JanusDataTable.Rows.Add(JanusDataRow); JanusDataTable.AcceptChanges(); } } else { for (int q = 0; q < columnas; q++) { if (JanusGridEx.RootTable.Columns[q].Visible == true) { Janus.Windows.GridEX.GridEXColumn gec = JanusGridEx.RootTable.Columns[q]; System.Data.DataColumn dc = new DataColumn(); dc.ColumnName = gec.Key; dc.Caption = gec.Caption; if (!JanusDataTable.Columns.Contains(gec.Key)) { JanusDataTable.Columns.Add(dc); } } } JanusDataTable.AcceptChanges(); for (int registros = 0; registros < JanusGridEx.RowCount; registros++) { JanusDataRow = JanusDataTable.NewRow(); for (int counter = 0; counter < columnas; counter++) { string columna = Convert.ToString(JanusGridEx.RootTable.Columns[counter].Key); if (EsFilaDeAgrupamiento(JanusGridEx.GetRow(registros))) { string auxValor = Convert.ToString(JanusGridEx.GetRow(registros).GroupValue); auxValor += Convert.ToString(JanusDataRow[0]); if (JanusGridEx.GetRow(registros).GroupValue != null && JanusGridEx.GetRow(registros).GroupValue.GetType() == System.Type.GetType("System.DateTime")) { JanusDataRow[0] = ((DateTime)JanusGridEx.GetRow(registros).GroupValue).ToString("MM/dd/yyyy") + Convert.ToString(JanusDataRow[0]); } else { JanusDataRow[0] = auxValor; } break; } else if (JanusGridEx.RootTable.Columns[columna].Visible == true) { if (JanusGridEx.GetRow(registros).Cells[columna].Value != null && JanusGridEx.GetRow(registros).Cells[columna].Value.GetType() == System.Type.GetType("System.DateTime")) { JanusDataRow[columna] = ((DateTime)JanusGridEx.GetRow(registros).Cells[columna].Value).ToString("MM/dd/yyyy"); } else { JanusDataRow[columna] = JanusGridEx.GetRow(registros).Cells[columna].Text; } } } JanusDataTable.Rows.Add(JanusDataRow); JanusDataTable.AcceptChanges(); } } JanusDataSet.Tables.Add(JanusDataTable); return JanusDataSet; }
public static DataSet GetDataSetFromJanusGridExDS(Janus.Windows.GridEX.GridEX JanusGridEx, string tableName) { DataSet JanusDataSet = new DataSet(); DataTable JanusDataTable = new DataTable(); DataRow JanusDataRow = null; Janus.Windows.GridEX.GridEXRow[] JanusRows; JanusRows = JanusGridEx.GetRows(); int columnas = JanusGridEx.RootTable.Columns.Count; string nivelAnterior = ""; for (int registros = 0; registros < JanusGridEx.RowCount; registros++) { if (JanusGridEx.GetRow(registros).Table.Caption != nivelAnterior) { if (JanusDataTable.Columns.Count > 0) { JanusDataSet.Tables.Add(JanusDataTable); } nivelAnterior = JanusGridEx.GetRow(registros).Table.Caption; JanusDataTable = new DataTable("TablaColumnas" + registros.ToString()); columnas = JanusGridEx.GetRow(registros).Cells.Count; if (JanusGridEx.GetRow(registros).Table.Caption != "Finan1" && JanusGridEx.GetRow(registros).Table.Caption != "Nivel1") { int nivel = Convert.ToInt32(JanusGridEx.GetRow(registros).Table.Caption.Substring(5, 1)); for (int nroNivel = 1; nroNivel < nivel; nroNivel++) { System.Data.DataColumn dcParaTabular = new DataColumn(); dcParaTabular.ColumnName = "n" + nroNivel.ToString(); dcParaTabular.Caption = ""; if (!JanusDataTable.Columns.Contains("n" + nroNivel.ToString())) { JanusDataTable.Columns.Add(dcParaTabular); } } } for (int q = 0; q < columnas; q++) { if (JanusGridEx.GetRow(registros).Cells[q].Column.Visible == true) { Janus.Windows.GridEX.GridEXColumn gec = JanusGridEx.GetRow(registros).Cells[q].Column; System.Data.DataColumn dc = new DataColumn(); dc.ColumnName = gec.Key; dc.Caption = gec.Caption; if (!JanusDataTable.Columns.Contains(gec.Key)) { JanusDataTable.Columns.Add(dc); } } } JanusDataTable.AcceptChanges(); } JanusDataRow = JanusDataTable.NewRow(); for (int counter = 0; counter < columnas; counter++) { string columna = ""; columna = Convert.ToString(JanusGridEx.GetRow(registros).Cells[counter].Column.Key); if (EsFilaDeAgrupamiento(JanusGridEx.GetRow(registros))) { string auxValor = Convert.ToString(JanusGridEx.GetRow(registros).GroupValue); int nivel = Convert.ToInt32(JanusGridEx.GetRow(registros).Table.Caption.Substring(5, 1)); auxValor += Convert.ToString(JanusDataRow[nivel - 1]); if (JanusGridEx.GetRow(registros).GroupValue != null && JanusGridEx.GetRow(registros).GroupValue.GetType() == System.Type.GetType("System.DateTime")) { JanusDataRow[nivel - 1] = ((DateTime)JanusGridEx.GetRow(registros).GroupValue).ToString("MM/dd/yyyy") + Convert.ToString(JanusDataRow[0]); } else { JanusDataRow[nivel - 1] = auxValor; } break; } else if (JanusGridEx.GetRow(registros).Cells[columna].Column.Visible == true) { if (JanusGridEx.GetRow(registros).Cells[columna].Value != null && JanusGridEx.GetRow(registros).Cells[columna].Value.GetType() == System.Type.GetType("System.DateTime")) { JanusDataRow[columna] = ((DateTime)JanusGridEx.GetRow(registros).Cells[columna].Value).ToString("MM/dd/yyyy"); } else { JanusDataRow[columna] = JanusGridEx.GetRow(registros).Cells[columna].Text; } } } JanusDataTable.Rows.Add(JanusDataRow); JanusDataTable.AcceptChanges(); } JanusDataSet.Tables.Add(JanusDataTable); return JanusDataSet; }
public static void ModificarTotalDesvioGridEx(Janus.Windows.GridEX.GridEX JanusGridEx) { JanusGridEx.AllowEdit = Janus.Windows.GridEX.InheritableBoolean.True; int columnas = JanusGridEx.RootTable.Columns.Count; for (int registros = 0; registros < JanusGridEx.RowCount; registros++) { if (JanusGridEx.GetRow(registros).Cells[0].Text == "" && JanusGridEx.GetRow(registros).Cells[1].Text == "" && JanusGridEx.GetRow(registros).Cells[2].Text == "") { if (JanusGridEx.GetRow(registros).Cells[columnas - 3].Text != "") { decimal real = 0; decimal plan = 0; real = Convert.ToDecimal(JanusGridEx.GetRow(registros).Cells[columnas - 2].Text); plan = Convert.ToDecimal(JanusGridEx.GetRow(registros).Cells[columnas - 3].Text); if (plan != 0) { Janus.Windows.GridEX.GridEXRow gr = JanusGridEx.GetRow(registros); gr.BeginEdit(); gr.Cells[columnas - 1].Value=Convert.ToString((real / plan - 1) * 100); gr.EndEdit(); //JanusGridEx.GetRows().SetValue( gr, 0); } } } } JanusGridEx.AllowEdit = Janus.Windows.GridEX.InheritableBoolean.False; }