Example #1
0
 private void grdTasks_ItemCommand(object source, DataGridCommandEventArgs e)
 {
     if (e.CommandName == "Collapse")
     {
         string s = pc["Report_CollapsedProjectsList"];
         if (s != null && s.Length > 0)
         {
             if (s[s.Length - 1] == ';')
             {
                 s += e.CommandArgument.ToString();
             }
             else
             {
                 s += ";" + e.CommandArgument.ToString();
             }
             pc["Report_CollapsedProjectsList"] = s;
         }
         else
         {
             pc["Report_CollapsedProjectsList"] = e.CommandArgument.ToString();
         }
         BindDataGrid();
     }
     if (e.CommandName == "Expand")
     {
         string s = pc["Report_CollapsedProjectsList"];
         if (s == e.CommandArgument.ToString())
         {
             s = string.Empty;
         }
         else
         {
             int index = s.IndexOf(e.CommandArgument.ToString() + ";");
             if (index >= 0)
             {
                 s = s.Remove(index, e.CommandArgument.ToString().Length + 1);
             }
             else
             {
                 index = s.IndexOf(";" + e.CommandArgument.ToString());
                 if (index >= 0)
                 {
                     s = s.Remove(index, e.CommandArgument.ToString().Length + 1);
                 }
             }
         }
         pc["Report_CollapsedProjectsList"] = s;
         BindDataGrid();
     }
     if (e.CommandName == "ProjectStart")
     {
         DataTable dt = GanttManager.GetAnalysisDataTable(BasePlan1, BasePlan2);
         if (dt.Rows.Count > 0)
         {
             _topProjectId = (int)dt.Rows[0]["ProjectId"];
         }
         int      projectId = int.Parse(e.CommandArgument.ToString());
         DateTime zeroPoint = DateTime.Now;
         using (IDataReader reader = Project.GetProject(projectId))
         {
             if (reader.Read())
             {
                 if (reader["TargetStartDate"] != DBNull.Value)
                 {
                     zeroPoint = (DateTime)reader["TargetStartDate"];
                 }
             }
         }
         pc["GantChartMilestones_Lx_New"] = (GanttManager.GetPortionX(_topProjectId, zeroPoint)).ToString();
         Response.Redirect("../Projects/ProjectsByMilestones.aspx", true);
     }
     if (e.CommandName == "ProjectEnd")
     {
         DataTable dt = GanttManager.GetAnalysisDataTable(BasePlan1, BasePlan2);
         if (dt.Rows.Count > 0)
         {
             _topProjectId = (int)dt.Rows[0]["ProjectId"];
         }
         int      projectId = int.Parse(e.CommandArgument.ToString());
         DateTime zeroPoint = DateTime.Now;
         using (IDataReader reader = Project.GetProject(projectId))
         {
             if (reader.Read())
             {
                 if (reader["TargetFinishDate"] != DBNull.Value)
                 {
                     zeroPoint = (DateTime)reader["TargetFinishDate"];
                 }
             }
         }
         pc["GantChartMilestones_Lx_New"] = (GanttManager.GetPortionX(_topProjectId, zeroPoint) - 1).ToString();
         Response.Redirect("../Projects/ProjectsByMilestones.aspx", true);
     }
 }
Example #2
0
        private void BindDataGrid()
        {
            DataTable dt = GanttManager.GetAnalysisDataTable(BasePlan1, BasePlan2);

            if (dt != null && dt.Rows.Count > 0)
            {
                _topProjectId = (int)dt.Rows[0]["ProjectId"];

                if (pc["ProjectsByMS_PageSize"] == null)
                {
                    pc["ProjectsByMS_PageSize"] = "10";
                }

                grdTasks.PageSize = int.Parse(pc["ProjectsByMS_PageSize"]);


                int pageindex = 0;
                int ppi       = dt.Rows.Count / grdTasks.PageSize;
                if (pc["ProjectsByMS_Page"] != null)
                {
                    pageindex = int.Parse(pc["ProjectsByMS_Page"]);

                    if (dt.Rows.Count % grdTasks.PageSize == 0)
                    {
                        ppi = ppi - 1;
                    }

                    if (pageindex <= ppi)
                    {
                        grdTasks.CurrentPageIndex = pageindex;
                    }
                    else
                    {
                        grdTasks.CurrentPageIndex = 0;
                    }
                }

                int fh = dt.Rows.Count % grdTasks.PageSize;
                if (pageindex == ppi && fh == 0)
                {
                    fh = grdTasks.PageSize * 19 + 29;
                }
                else if
                (pageindex < ppi)
                {
                    fh = grdTasks.PageSize * 19 + 29;
                }
                else
                {
                    fh = fh * 19 + 29;
                }

                iframeheight = fh.ToString();

                grdTasks.DataSource            = dt.DefaultView;
                grdTasks.Columns[3].HeaderText = LocRM.GetString("tProjectMilestone");
                grdTasks.DataBind();
                foreach (DataGridItem dgi in grdTasks.Items)
                {
                    ImageButton ib = (ImageButton)dgi.FindControl("ibProjectStart");
                    if (ib != null)
                    {
                        ib.Attributes.Add("title", LocRM.GetString("tProjectStartDate"));
                    }
                    ib = (ImageButton)dgi.FindControl("ibProjectEnd");
                    if (ib != null)
                    {
                        ib.Attributes.Add("title", LocRM.GetString("tProjectEndDate"));
                    }
                }

                divImg.Style.Add("HEIGHT", iframeheight + "px");
                hdnLinkToGantt.Value = String.Format("../Projects/GanttReportImage2.aspx?PageItems={0}&PageNumber={1}&Days=366&RenderPortion=1&BasePlanSlotId={2}&OriginalPlanSlotId={3}", grdTasks.PageSize, grdTasks.CurrentPageIndex, ddBasePlan.SelectedValue, ddOrBasePlan.SelectedValue);
            }
        }