94 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Data;
 | 
						|
using System.Data.SqlClient;
 | 
						|
using System.Linq;
 | 
						|
using System.Web;
 | 
						|
using System.Web.UI;
 | 
						|
using System.Web.UI.WebControls;
 | 
						|
using BLL;
 | 
						|
using Newtonsoft.Json.Linq;
 | 
						|
 | 
						|
namespace FineUIPro.Web.JDGL.WBS
 | 
						|
{
 | 
						|
    public partial class CostControlWeekDetailEdit : PageBase
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// 控制项主键
 | 
						|
        /// </summary>
 | 
						|
        public string Id
 | 
						|
        {
 | 
						|
            get
 | 
						|
            {
 | 
						|
                return (string)ViewState["Id"];
 | 
						|
            }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                ViewState["Id"] = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        protected void Page_Load(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (!IsPostBack)
 | 
						|
            {
 | 
						|
                this.Id = Request.Params["Id"];
 | 
						|
                Model.WBS_CostControl costControl = BLL.CostControlService.GetCostControlByCostControlId(this.Id);
 | 
						|
                if (costControl != null)
 | 
						|
                {
 | 
						|
                    this.txtCostControlName.Text = costControl.CostControlName;
 | 
						|
                }
 | 
						|
                var list = BLL.CostControlDetailService.GetMonthCostControlDetailsByCostControlId(this.Id);
 | 
						|
                this.Grid1.DataSource = list;
 | 
						|
                this.Grid1.DataBind();
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #region 增加按钮事件
 | 
						|
        /// <summary>
 | 
						|
        /// 增加按钮事件
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnNew_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            var list = GetDetails();
 | 
						|
            Model.WBS_CostControlDetail detail = new Model.WBS_CostControlDetail();
 | 
						|
            detail.CostControlDetailId = SQLHelper.GetNewID();
 | 
						|
            list.Add(detail);
 | 
						|
            Grid1.DataSource = list;
 | 
						|
            Grid1.DataBind();
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
        private List<Model.WBS_CostControlDetail> GetDetails()
 | 
						|
        {
 | 
						|
            List<Model.WBS_CostControlDetail> details = new List<Model.WBS_CostControlDetail>();
 | 
						|
            foreach (JObject mergedRow in Grid1.GetMergedData())
 | 
						|
            {
 | 
						|
                JObject values = mergedRow.Value<JObject>("values");
 | 
						|
                int i = mergedRow.Value<int>("index");
 | 
						|
                Model.WBS_CostControlDetail detail = new Model.WBS_CostControlDetail();
 | 
						|
                detail.CostControlDetailId = Grid1.Rows[i].RowID;
 | 
						|
                detail.CostControlId = this.Id;
 | 
						|
                detail.Months = Funs.GetNewDateTime(values.Value<string>("Months") + "-01");
 | 
						|
                detail.PlanNum = Funs.GetNewDecimal(values.Value<string>("PlanNum"));
 | 
						|
                details.Add(detail);
 | 
						|
            }
 | 
						|
            return details;
 | 
						|
        }
 | 
						|
        #region 行点击事件
 | 
						|
        /// <summary>
 | 
						|
        /// Grid行点击事件
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
 | 
						|
        {
 | 
						|
            string detailId = Grid1.DataKeys[e.RowIndex][0].ToString();
 | 
						|
            var list = GetDetails();
 | 
						|
            if (e.CommandName == "SetWeek")//设置周计划
 | 
						|
            {
 | 
						|
                PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CostControlWeekItemDetailEdit.aspx?Id={0}", detailId, "修改 - ")));
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
} |