private void LoadGroup() { try { GroupsNames = new Dictionary <int, string>(); Groups = new Dictionary <int, GridViewColumnGroup>(); ColumnGroupsViewDefinition view = new ColumnGroupsViewDefinition(); Int32 IndexGroup = 0; Int32 IndexColumn = 0; GridViewColumnGroup group = new GridViewColumnGroup(); Int32 nivel = 0; foreach (DataColumn column in Presenter.DTReporte.Columns) { if (column.ColumnName.Contains('#')) { String[] columns = column.ColumnName.Split('#'); if (!GroupsNames.ContainsKey(nivel) || (GroupsNames.ContainsKey(nivel) && GroupsNames[nivel] != columns[nivel])) { GroupsNames = new Dictionary <int, string>(); Groups = new Dictionary <int, GridViewColumnGroup>(); String columngroup = columns[nivel]; group = new GridViewColumnGroup(columngroup); if (GroupsNames.ContainsKey(nivel)) { GroupsNames[nivel] = columns[nivel]; Groups[nivel] = group; } else { GroupsNames.Add(nivel, columngroup); Groups.Add(nivel, group); } view.ColumnGroups.Add(group); } else { group = Groups[nivel]; } LoadSubGroup(ref group, column, nivel + 1, IndexColumn, IndexColumn++); } else { view.ColumnGroups.Add(new GridViewColumnGroup(column.ColumnName)); view.ColumnGroups[IndexGroup].Rows.Add(new GridViewColumnGroupRow()); view.ColumnGroups[IndexGroup].Rows[0].Columns.Add(grdItems.Columns[column.ColumnName]); IndexGroup += 1; } IndexColumn += 1; } grdItems.ViewDefinition = view; } catch (Exception ex) { Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeError(Presenter.Title, "Ha ocurrido un error al cargar los grupos.", ex); } }
/// <summary> /// Updates benchmark column group header and data refresh. /// </summary> /// <param name="gridView">RadGridView</param> /// <param name="columnGroupName">Column Group Name</param> /// <param name="benchmarkId">BenchmarkId</param> /// <param name="portfolioDate">Portfolio Date</param> private void UpdateBenchmarkColumnGroup(RadGridView gridView, String columnGroupName, String benchmarkId, DateTime portfolioDate) { GridViewColumnGroup benchmarkColumnGroup = gridView.ColumnGroups.Where(g => g.Name == columnGroupName).FirstOrDefault(); gridView.ColumnGroups.Remove(benchmarkColumnGroup); benchmarkColumnGroup = new GridViewColumnGroup() { Name = columnGroupName, Header = benchmarkId, HeaderStyle = this.Resources["GridViewColumnGroupHeaderStyle_RightAligned"] as Style }; gridView.ColumnGroups.Add(benchmarkColumnGroup); gridView.Columns[1].Header = portfolioDate.ToString("M/dd/yyyy"); }
private void LoadSubGroup(ref GridViewColumnGroup group, DataColumn column, Int32 nivel, Int32 index, Int32 newindex) { try { GridViewColumnGroup subgroup = new GridViewColumnGroup(); String[] columns = column.ColumnName.Split('#'); if (columns.Length > (nivel + 1)) { if (!GroupsNames.ContainsKey(nivel) || (GroupsNames.ContainsKey(nivel) && GroupsNames[nivel] != columns[nivel])) { String columngroup = columns[nivel]; subgroup = new GridViewColumnGroup(columngroup); if (GroupsNames.ContainsKey(nivel)) { GroupsNames[nivel] = columns[nivel]; Groups[nivel] = subgroup; } else { GroupsNames.Add(nivel, columngroup); Groups.Add(nivel, subgroup); } group.Groups.Add(subgroup); } else { subgroup = Groups[nivel]; } LoadSubGroup(ref subgroup, column, (nivel + 1), index, newindex); } else { String columnName = "COLUMN" + newindex; grdItems.Columns.Add(columnName, columns[nivel], column.ColumnName); group.Rows.Add(new GridViewColumnGroupRow()); group.Rows[0].Columns.Add(grdItems.Columns[columnName]); index += 1; newindex += 1; } } catch (Exception ex) { Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeError(Presenter.Title, "Ha ocurrido un error al cargar los subgrupos.", ex); } }
public void AddColumns(ref GridViewColumnGroup col) { this.ColumnGroups.Add(col); }
private void LoadSubGroup(ref GridViewColumnGroup group, DataColumn column, Int32 nivel, Int32 index, Int32 newindex) { try { GridViewColumnGroup subgroup = new GridViewColumnGroup(); String[] columns = column.ColumnName.Split('#'); if (columns.Length > (nivel + 1)) { if ((GroupsNames.ContainsKey(nivel) && GroupsNames[nivel] != columns[nivel]) || !GroupsNames.ContainsKey(nivel)) { String columngroup = columns[nivel]; subgroup = new GridViewColumnGroup(columngroup); if (GroupsNames.ContainsKey(nivel)) { GroupsNames[nivel] = columns[nivel]; Groups[nivel] = subgroup; Int32 _nivelesuperiores = nivel + 1; while ((GroupsNames.ContainsKey(_nivelesuperiores))) { GroupsNames.Remove(_nivelesuperiores); Groups.Remove(_nivelesuperiores); _nivelesuperiores += 1; } } else { GroupsNames.Add(nivel, columngroup); Groups.Add(nivel, subgroup); } group.Groups.Add(subgroup); } else { subgroup = Groups[nivel]; } LoadSubGroup(ref subgroup, column, (nivel + 1), index, newindex); } else { String columnName = "COLUMN" + newindex; if (newindex > 0) { Telerik.WinControls.UI.GridViewDecimalColumn _column = new Telerik.WinControls.UI.GridViewDecimalColumn(System.Type.GetType("System.Decimal"), column.ColumnName, column.ColumnName); _column.HeaderText = columns[nivel]; //_column.FormatString = "###'###,##0.00"; _column.FormatString = "{0:N}"; _column.FormatInfo = System.Globalization.CultureInfo.CreateSpecificCulture("es-PE"); _column.TextAlignment = ContentAlignment.MiddleRight; grdItems.Columns.Add(_column); group.Rows.Add(new GridViewColumnGroupRow()); group.Rows[0].Columns.Add(grdItems.Columns[column.ColumnName]); index += 1; newindex += 1; } else { grdItems.Columns.Add(columnName, columns[nivel], column.ColumnName); group.Rows.Add(new GridViewColumnGroupRow()); group.Rows[0].Columns.Add(grdItems.Columns[columnName]); index += 1; newindex += 1; } } } catch (Exception) { } }
private void LoadGroup() { try { GroupsNames = new Dictionary <int, string>(); Groups = new Dictionary <int, GridViewColumnGroup>(); ColumnGroupsViewDefinition view = new ColumnGroupsViewDefinition(); Int32 IndexGroup = 0; Int32 IndexColumn = 0; GridViewColumnGroup group = new GridViewColumnGroup(); Int32 nivel = 0; foreach (DataColumn column in Presenter.DTReporte.Columns) { if (column.ColumnName.Contains('#')) { String[] columns = column.ColumnName.Split('#'); if ((GroupsNames.ContainsKey(nivel) && GroupsNames[nivel] != columns[nivel]) || !GroupsNames.ContainsKey(nivel)) { GroupsNames = new Dictionary <int, string>(); Groups = new Dictionary <int, GridViewColumnGroup>(); String columngroup = columns[nivel]; group = new GridViewColumnGroup(columngroup); if (GroupsNames.ContainsKey(nivel)) { GroupsNames[nivel] = columns[nivel]; Groups[nivel] = group; Int32 _nivelesuperiores = nivel + 1; while ((GroupsNames.ContainsKey(_nivelesuperiores))) { GroupsNames.Remove(_nivelesuperiores); Groups.Remove(_nivelesuperiores); _nivelesuperiores += 1; } } else { GroupsNames.Add(nivel, columngroup); Groups.Add(nivel, group); } view.ColumnGroups.Add(group); } else { group = Groups[nivel]; } LoadSubGroup(ref group, column, nivel + 1, IndexColumn, IndexColumn++); } else { grdItems.Columns.Add(column.ColumnName, column.ColumnName, column.ColumnName); view.ColumnGroups.Add(new GridViewColumnGroup(column.ColumnName)); view.ColumnGroups[IndexGroup].Rows.Add(new GridViewColumnGroupRow()); view.ColumnGroups[IndexGroup].Rows[0].Columns.Add(grdItems.Columns[column.ColumnName]); IndexGroup += 1; } IndexColumn += 1; } grdItems.ViewDefinition = view; LoadGroupexcel(); } catch (Exception) { throw; } }
private void PopulateData() { try { DtBhavCopyData = new DataTable(); DtBhavCopySqlData = new DataTable(); RdGrdReportResult.DataSource = null; DataColumn DcColBhavCopyData = new DataColumn("cSYMBOL", typeof(string)); DcColBhavCopyData.DefaultValue = ""; DcColBhavCopyData.Caption = "Company Name(Symbol)"; DtBhavCopyData.Columns.Add(DcColBhavCopyData); DcColBhavCopyData = new DataColumn("cSERIES", typeof(string)); DcColBhavCopyData.DefaultValue = ""; DcColBhavCopyData.Caption = "Company Series(Series)"; DtBhavCopyData.Columns.Add(DcColBhavCopyData); DcColBhavCopyData = new DataColumn("cSummary", typeof(double)); DcColBhavCopyData.DefaultValue = 0; DcColBhavCopyData.Caption = "Total Summary"; DtBhavCopyData.Columns.Add(DcColBhavCopyData); string StrSqlQuery = ""; string StrSqlQueryFilter = "Where "; RdProgressBar.Minimum = 1; RdProgressBar.Maximum = DvBhavCopyCompany.Count; RdProgressBar.Value1 = 1; RdProgressBar.Text = "Filling Company Details"; DataRow _DataRowBhavCopy; for (int i = 0; i < DvBhavCopyCompany.Count; i++) { _DataRowBhavCopy = DtBhavCopyData.NewRow(); _DataRowBhavCopy["cSYMBOL"] = DvBhavCopyCompany[i]["cSYMBOL"]; _DataRowBhavCopy["cSERIES"] = DvBhavCopyCompany[i]["cSERIES"]; DtBhavCopyData.Rows.Add(_DataRowBhavCopy); RdProgressBar.Value1 = RdProgressBar.Value1 < DvBhavCopyCompany.Count ? RdProgressBar.Value1 + 1 : DvBhavCopyCompany.Count; RdProgressBar.Text = " Filling Company Details - " + ((RdProgressBar.Value1 * 100) / DvBhavCopyCompany.Count).ToString() + " %"; RdProgressBar.Update(); RdProgressBar.Refresh(); Application.DoEvents(); } RdProgressBar.Value1 = 1; RdProgressBar.Text = "Filling Company Completed"; string StrCompnay = ""; StrCompnay = string.Join("','", DvBhavCopyCompany.ToTable().AsEnumerable().Select(x => x.Field <string>("cSYMBOL")).ToArray());//+ "_" + x.Field<string>("cSERIES") StrSqlQueryFilter = StrSqlQueryFilter + " Convert(DateTime,dTIMESTAMP,101) >=Convert(DateTime,'" + _DtpFromDate.ToString("yyyy/MM/dd") + "',101) AND Convert(DateTime,dTIMESTAMP,101) <=Convert(DateTime,'" + _DtpToDate.ToString("yyyy/MM/dd") + "',101)"; StrSqlQuery = @"select * from [A3DBhavCopyData].[dbo].[BhavCopyDetails]"; StrSqlQuery = StrSqlQuery + Environment.NewLine + StrSqlQueryFilter + Environment.NewLine + " AND cSYMBOL IN ('" + StrCompnay + "')";//+ '_' + cSERIES using (var DbContext = new A3DBhavCopyDataContext()) { var vAtmUpTime = DbContext.Database.SqlQuery <MClsBhavCopyDetails>(StrSqlQuery).ToList(); DtBhavCopySqlData = ClsUtility._IClsUtility.NewTable(string.Concat("BhavCopyData"), vAtmUpTime); } double _IDaysInMonth = (_DtpToDate - _DtpFromDate).TotalDays; ColumnGroupsViewDefinition view = new ColumnGroupsViewDefinition(); GridViewColumnGroup gridViewColumnGroup; gridViewColumnGroup = new GridViewColumnGroup("Company Details"); gridViewColumnGroup.Rows.Add(new GridViewColumnGroupRow()); gridViewColumnGroup.Rows[0].ColumnNames.Add("cSYMBOL"); gridViewColumnGroup.Rows[0].ColumnNames.Add("cSERIES"); gridViewColumnGroup.Rows[0].ColumnNames.Add("cSummary"); gridViewColumnGroup.IsPinned = true; gridViewColumnGroup.PinPosition = PinnedColumnPosition.Left; view.ColumnGroups.Add(gridViewColumnGroup); for (int i = 0; i <= _IDaysInMonth; i++) { DateTime _DtMonthDate = _DtpFromDate.AddDays(Convert.ToDouble(i)); if (_DtMonthDate.DayOfWeek.ToString() == "Sunday" || _DtMonthDate.DayOfWeek.ToString() == "Saturday") { continue; } DcColBhavCopyData = new DataColumn("cPREVCLOSE_" + _DtMonthDate.ToString("dd-MMM-yyyy"), typeof(double)) { DefaultValue = 0, Caption = "Previous Day Closing Value" }; DtBhavCopyData.Columns.Add(DcColBhavCopyData); DcColBhavCopyData = new DataColumn("cCLOSE_" + _DtMonthDate.ToString("dd-MMM-yyyy"), typeof(double)) { DefaultValue = 0, Caption = "Today Closing Value" }; DtBhavCopyData.Columns.Add(DcColBhavCopyData); if (EnuReportType == enumReportType.SortByQty) { DcColBhavCopyData = new DataColumn("cTOTTRDQTY_" + _DtMonthDate.ToString("dd-MMM-yyyy"), typeof(double)) { DefaultValue = 0, Caption = "Total Trading Quantity" }; DtBhavCopyData.Columns.Add(DcColBhavCopyData); } else { DcColBhavCopyData = new DataColumn("cTOTTRDVAL_" + _DtMonthDate.ToString("dd-MMM-yyyy"), typeof(double)) { DefaultValue = 0, Caption = "Total Trading Value" }; DtBhavCopyData.Columns.Add(DcColBhavCopyData); } DcColBhavCopyData = new DataColumn("cPriceChange_" + _DtMonthDate.ToString("dd-MMM-yyyy"), typeof(double)) { DefaultValue = 0, Caption = "Price Change" }; DtBhavCopyData.Columns.Add(DcColBhavCopyData); gridViewColumnGroup = new GridViewColumnGroup(_DtMonthDate.ToString("dd-MMM-yyyy")); gridViewColumnGroup.Rows.Add(new GridViewColumnGroupRow()); gridViewColumnGroup.Rows[0].ColumnNames.Add("cPREVCLOSE_" + _DtMonthDate.ToString("dd-MMM-yyyy")); gridViewColumnGroup.Rows[0].ColumnNames.Add("cCLOSE_" + _DtMonthDate.ToString("dd-MMM-yyyy")); if (EnuReportType == enumReportType.SortByQty) { gridViewColumnGroup.Rows[0].ColumnNames.Add("cTOTTRDQTY_" + _DtMonthDate.ToString("dd-MMM-yyyy")); } else { gridViewColumnGroup.Rows[0].ColumnNames.Add("cTOTTRDVAL_" + _DtMonthDate.ToString("dd-MMM-yyyy")); } gridViewColumnGroup.Rows[0].ColumnNames.Add("cPriceChange_" + _DtMonthDate.ToString("dd-MMM-yyyy")); view.ColumnGroups.Add(gridViewColumnGroup); } RdGrdReportResult.ViewDefinition = view; RdProgressBar.Minimum = 1; RdProgressBar.Maximum = DtBhavCopyData.DefaultView.Count; RdProgressBar.Value1 = 1; RdProgressBar.Text = "Filling Bhav-Copy Data"; double dblSummary = 0; foreach (DataRowView DrvCompany in DtBhavCopyData.DefaultView) { dblSummary = 0; RdProgressBar.Text = " Filling < " + DrvCompany["cSYMBOL"] + " > Company Data - " + ((RdProgressBar.Value1 * 100) / DtBhavCopyData.DefaultView.Count).ToString() + " %"; RdProgressBar.Update(); RdProgressBar.Refresh(); Application.DoEvents(); DtBhavCopySqlData.DefaultView.RowFilter = "cSYMBOL='" + DrvCompany["cSYMBOL"] + "' AND cSERIES='" + DrvCompany["cSERIES"] + "' "; foreach (DataRowView DrvBhavCopySqlData in DtBhavCopySqlData.DefaultView) { //DrvCompany["cPREVCLOSE"] = DrvBhavCopySqlData["cPREVCLOSE"]; //DrvCompany["cCLOSE"] = DrvBhavCopySqlData["cCLOSE"]; //DrvCompany["cTOTTRDVAL"] = DrvBhavCopySqlData["cTOTTRDVAL"]; if (DtBhavCopyData.Columns.Contains("cPREVCLOSE_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy"))) { DrvCompany["cPREVCLOSE_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy")] = DrvBhavCopySqlData["cPREVCLOSE"]; } if (DtBhavCopyData.Columns.Contains("cCLOSE_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy"))) { DrvCompany["cCLOSE_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy")] = DrvBhavCopySqlData["cCLOSE"]; } if (EnuReportType == enumReportType.SortByQty) { if (DtBhavCopyData.Columns.Contains("cTOTTRDQTY_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy"))) { DrvCompany["cTOTTRDQTY_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy")] = DrvBhavCopySqlData["cTOTTRDQTY"]; } } else { if (DtBhavCopyData.Columns.Contains("cTOTTRDVAL_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy"))) { DrvCompany["cTOTTRDVAL_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy")] = DrvBhavCopySqlData["cTOTTRDVAL"]; } } if (DtBhavCopyData.Columns.Contains("cPriceChange_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy"))) { DrvCompany["cPriceChange_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy")] = Math.Round(Convert.ToDouble(DrvBhavCopySqlData["cCLOSE"]) - Convert.ToDouble(DrvBhavCopySqlData["cPREVCLOSE"]), 2); dblSummary = dblSummary + Convert.ToDouble(DrvCompany["cPriceChange_" + Convert.ToDateTime(DrvBhavCopySqlData["dTIMESTAMP"]).ToString("dd-MMM-yyyy")]); } } DrvCompany["cSummary"] = dblSummary; DtBhavCopySqlData.DefaultView.RowFilter = ""; RdProgressBar.Value1 = RdProgressBar.Value1 < DvBhavCopyCompany.Count ? RdProgressBar.Value1 + 1 : DvBhavCopyCompany.Count; } RdGrdReportResult.DataSource = DtBhavCopyData; ConditionalFormattingObject _ConditionalFormattingObject = new ConditionalFormattingObject("MyCondition", ConditionTypes.Less, "0", "", false); //obj.CellBackColor = Color.SkyBlue; _ConditionalFormattingObject.CellForeColor = Color.Red; //obj.TextAlignment = ContentAlignment.MiddleRight; RdGrdReportResult.Columns["cSYMBOL"].PinPosition = PinnedColumnPosition.Left; RdGrdReportResult.Columns["cSYMBOL"].IsPinned = true; RdGrdReportResult.Columns["cSERIES"].PinPosition = PinnedColumnPosition.Left; RdGrdReportResult.Columns["cSERIES"].IsPinned = true; RdGrdReportResult.Columns["cSummary"].PinPosition = PinnedColumnPosition.Left; RdGrdReportResult.Columns["cSummary"].IsPinned = true; RdGrdReportResult.Columns["cSummary"].ConditionalFormattingObjectList.Add(_ConditionalFormattingObject); foreach (var gridViewDataColumn in RdGrdReportResult.Columns) { if (gridViewDataColumn.Name.Contains("cPriceChange_")) { gridViewDataColumn.ConditionalFormattingObjectList.Add(_ConditionalFormattingObject); } } RdProgressBar.Value1 = 1; RdProgressBar.Text = "Done"; ClsMessage._IClsMessage.showMessage("Done!!"); } catch (Exception ex) { ClsMessage._IClsMessage.ProjectExceptionMessage(ex); } }
public void AddColumns(GridViewColumnGroup col) { ColumnGroups.Add(col); }