private DataTable CreateDataSource()
        {
            dataSource = new DataTable();
            dataSource.Columns.Add("ID", typeof(int));
            dataSource.Columns.Add("ParentID", typeof(int));
            dataSource.Columns.Add("Name", typeof(string));
            dataSource.Columns.Add("TotalHours", typeof(decimal));
            dataSource.Columns.Add("SumHourWork", typeof(decimal));
            dataSource.Columns.Add("PresentDoing", typeof(decimal));
            dataSource.Columns.Add("DaysStay", typeof(int));
            dataSource.Columns.Add("DateBegin", typeof(DateTime));
            dataSource.Columns.Add("DateEnd", typeof(DateTime));
            dataSource.Columns.Add("IsFinish", typeof(bool));
            dataSource.Columns.Add("CustomerName", typeof(string));

            List <HelpModel.ReportProject> reportProjects = ReportRequests.CreateReportProjects();
            int index = 1;

            reportProjects.ForEach(project =>
            {
                int projectId = index++;

                dataSource.Rows.Add(
                    projectId, 0, project.Name, project.TotalHours
                    , project.SumHoursDo, project.PrecentsDone, project.Daysleft, project.DateBegin,
                    project.DateEnd, project.IsFinish, project.CustomerName);

                project.Items.ForEach(departmentHours =>
                {
                    int departmentHoursId = index++;

                    dataSource.Rows.Add(
                        departmentHoursId, projectId, departmentHours.Name, departmentHours.TotalHours,
                        departmentHours.SumHoursDo, departmentHours.PrecentsDone);

                    departmentHours.Items.ForEach(worker =>
                    {
                        dataSource.Rows.Add(index++, departmentHoursId, worker.Name,
                                            worker.TotalHours, worker.SumHoursDo, worker.PrecentsDone);
                    });
                });
            });

            radGridView1.EnableHotTracking              = true;
            radGridView1.EnableAlternatingRowColor      = true;
            radGridView1.AutoGenerateHierarchy          = true;
            radGridView1.EnableFiltering                = true;
            radGridView1.ShowFilteringRow               = true;
            radGridView1.MasterTemplate.EnableFiltering = true;

            return(dataSource);
        }
        private DataTable CreateDataSource(int?year, int?month)
        {
            dataSource = new DataTable();
            dataSource.Columns.Add("ID", typeof(int));
            dataSource.Columns.Add("ParentID", typeof(int));
            dataSource.Columns.Add("Name", typeof(string));
            dataSource.Columns.Add("Year", typeof(int));
            dataSource.Columns.Add("Month", typeof(int));
            dataSource.Columns.Add("TotalHours", typeof(decimal));
            dataSource.Columns.Add("SumHoursDo", typeof(decimal));
            dataSource.Columns.Add("PrecentsDone", typeof(decimal));
            dataSource.Columns.Add("SumHoursDoMonth", typeof(decimal));
            dataSource.Columns.Add("Department", typeof(bool));
            dataSource.Columns.Add("TeamLeader", typeof(string));

            //create report hirarcy self reference
            reportWorker = ReportRequests.CreateReportWorker();
            int index = 1;

            reportWorker.ForEach(worker =>
            {
                int workerId = index++;
                dataSource.Rows.Add(
                    workerId, 0, worker.Name, worker.Year, worker.Month, worker.TotalHours,
                    worker.SumHoursDo, worker.PrecentsDone, worker.SumHoursDoMonth, worker.Department,
                    worker.TeamLeader
                    );

                if (worker.Items != null)
                {
                    worker.Items.ForEach(pressent =>
                    {
                        int?pressentId = null;
                        if (month == null && year == null || year == null && worker.Month == month ||
                            month == null && year == worker.Year || worker.Month == month && year == worker.Year)
                        {
                            pressentId = index++;

                            dataSource.Rows.Add(
                                pressentId, workerId, pressent.Name, pressent.Year, pressent.Month,
                                pressent.TotalHours, pressent.SumHoursDo, pressent.PrecentsDone, pressent.SumHoursDoMonth);
                        }
                    });
                }
            });

            return(dataSource);
        }
Beispiel #3
0
        public void FillData()
        {
            for (int i = 0; i < columnNames.Length; i++)
            {
                dt.Columns.Add(columnNames[i], typeColums[i]);
            }

            List <ReportProject> reportProjects = ReportRequests.CreateReportProjects();

            foreach (var item in reportProjects)
            {
                dt.Rows.Add(item);
            }
            this.radGridView1.DataSource      = dt;
            this.radGridView1.EnableFiltering = true;
            this.radGridView1.MasterTemplate.DataView.BypassFilter = true;
            this.radGridView1.FilterChanged += radGridView1_FilterChanged;
        }
        public void FillData()
        {
            for (int i = 0; i < columdNames.Length; i++)
            {
                dt.Columns.Add(columdNames[i], typeColums[i]);
            }
            dt.Columns.Add("DepartmentUser");
            List <ReportProject> reportProjects = ReportRequests.CreateReportProjects();
            DataTable            dt2            = new DataTable();

            foreach (var item in reportProjects)
            {
                dt2 = new DataTable();
                dt.Rows.Add(item.Project.ProjectName, item.Project.CustomerName, item.Project.DateBegin,
                            item.Project.DateEnd, item.Project.IsFinish, item.manager, item.Project.numHourForProject,
                            item.DaysStay, item.NumWorkers, item.sumHourWork, item.presentDoing, item.NumHourDoDaysWorker,
                            item.DepartmentUser);
            }



            this.radGridView1.DataSource      = dt;
            this.radGridView1.EnableFiltering = true;
            this.radGridView1.MasterTemplate.DataView.BypassFilter = true;
            this.radGridView1.FilterChanged += radGridView1_FilterChanged;

            //master template
            GridViewSummaryRowItem item1 = new GridViewSummaryRowItem();

            item1.Add(new GridViewSummaryItem("ProjectName", "Count: {0}", GridAggregateFunction.Count));
            this.radGridView1.MasterTemplate.SummaryRowsBottom.Add(item1);

            radGridView1.MasterTemplate.ShowTotals = true;

            //child template
            //GridViewSummaryRowItem item3 = new GridViewSummaryRowItem();
            //GridViewSummaryRowItem item4 = new GridViewSummaryRowItem();

            //item3.Add(new GridViewSummaryItem("UnitPrice", "Avg: {0:c}", GridAggregateFunction.Avg));
            //item4.Add(new GridViewSummaryItem("Quantity", "Sum: {0}", GridAggregateFunction.Sum));

            //this.radGridView1.MasterTemplate.Templates[0].SummaryRowsTop.Add(item3);
            //this.radGridView1.MasterTemplate.Templates[0].SummaryRowsBottom.Add(item4);



            //radGridView1.Columns["Image"].ImageLayout = ImageLayout.Zoom;



            //GridViewTemplate childTemplate2 = new GridViewTemplate();
            //childTemplate2.DataSource = songsBindingSource;
            //childTemplate2.Caption = "Songs";
            //this.radGridView1.MasterTemplate.Templates.Add(childTemplate2);
            //GridViewRelation relation2 = new GridViewRelation(this.radGridView1.MasterTemplate);
            //relation2.RelationName = "productdescription_productModelDescription";
            //relation2.ParentColumnNames.Add("AlbumID");
            //relation2.ChildColumnNames.Add("AlbumID");
            //relation2.ChildTemplate = childTemplate2;
            //this.radGridView1.Relations.Add(relation2);

            // GridViewTemplate childTemplate1 = new GridViewTemplate();

            // dt2.Columns.Add("Department", typeof(string));


            //GridViewTemplate childTemplate1 = new GridViewTemplate();
            //childTemplate1.Columns.Add("DepartmentUser");
            //childTemplate1.DataSource = reportProjects[0].DepartmentUser;
            //childTemplate1.Caption = "department";
            //this.radGridView1.MasterTemplate.Templates.Add(childTemplate1);


            //GridViewRelation relation1 = new GridViewRelation(this.radGridView1.MasterTemplate);
            //relation1.RelationName = "productmodel_productModelDescription";
            //relation1.ParentColumnNames.Add("ProjectName");
            //relation1.ChildColumnNames.Add("Department");
            //relation1.ChildTemplate = childTemplate1;
            //this.radGridView1.Relations.Add(relation1);
            //  radGridView1.AutoGenerateHierarchy = true;
        }