示例#1
0
        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");
        }
示例#3
0
        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); }
        }
示例#4
0
 public void AddColumns(ref GridViewColumnGroup col)
 {
     this.ColumnGroups.Add(col);
 }
示例#5
0
        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)
            { }
        }
示例#6
0
        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; }
        }
示例#7
0
        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);
 }