Ejemplo n.º 1
0
        public void BindingData()
        {
            if (Mode == "edit")
            {
                /*
                 * GLXNAVWebApp.ReqWorksheet.ReqWorksheet_Service svc = new GLXNAVWebApp.ReqWorksheet.ReqWorksheet_Service();
                 * svc.Url = common.ReBuildUrl(svc.Url, "");
                 * svc.Credentials = common.CheckCredentials();
                 * string recId = svc.GetRecIdFromKey(strKey);
                 * GLXNAVWebApp.ReqWorksheet.ReqWorksheet results = svc.ReadByRecId(JournalBatchName, recId);
                 * frmHeader.SetValues(results);
                 * //txtQuantity.Text = results.Quantity.ToString("N2", CultureInfo.InstalledUICulture);
                 * txtBatch.SetValue(JournalBatchName);
                 */

                POWaitingForApprove.BSL_POWaitingForApproveClient client = new POWaitingForApprove.BSL_POWaitingForApproveClient();
                POWaitingForApprove.data_POWaitingForApprove      rec    = client.GetRecIdFromKey(strKey);
                frmHeader.SetValues(rec);
                TextAreaChangeLogComment.Text = rec.Comment;
            }
            else
            {
                hiddenConverted.SetValue("false");
                hiddenStatus.SetValue("Open");
                txtDue_Date.SetValue(DateTime.Now);
                cboType.SetValue("Item");
                cboAction_Message.SetValue("New");
                cboAccept_Action_Message.Checked = true;
                txtOriginal_Quantity.SetValue(0);
                txtQuantity.SetValue(0);
                txtDirect_Unit_Cost.SetValue(0);
                cboReplenishment_System.SetValue("Purchase");
                txtBatch.SetValue(JournalBatchName);
            }
        }
Ejemplo n.º 2
0
        protected void LoadData(DataTable dt, bool CheckCopy)
        {
            string ID = dt.Rows[0]["RequestID"].ToString();
            cs.DBCommand dbc = new cs.DBCommand();
            //cbxOwner.SelectedItem.Value = dt.Rows[0]["PersonID"].ToString();
            
            if (CheckCopy)//根据Copy判断是否需要判断Copy状态
            {
                if (Request.QueryString["Copy"] != null)
                {
                    if (Request.QueryString["Copy"].ToString() == "T")//Copy而已,作为新增
                    {
                        hdTravelRequestID.Value = "";
                        hdTravelRequestNo.Value = "";
                        if (Request.QueryString["CopyType"] != null)
                        {
                            if (Request.QueryString["CopyType"].ToString() == "A")
                            {
                                if (dt.Rows[0]["ReportFile"].ToString() != "")
                                {
                                    linkTravelReport.Text = dt.Rows[0]["ReportFile"].ToString();
                                    linkTravelReport.NavigateUrl = "./Upload/" + dt.Rows[0]["ReportFile"].ToString();
                                    hdReport.Value = dt.Rows[0]["ReportFile"].ToString();
                                }
                                if (dt.Rows[0]["Attach"].ToString() != "")
                                {
                                    linkScanFile.Text = dt.Rows[0]["Attach"].ToString();
                                    linkScanFile.NavigateUrl = "./Upload/" + dt.Rows[0]["Attach"].ToString();
                                    hdScanFile.Value = dt.Rows[0]["Attach"].ToString();
                                }
                            }
                        }
                    }
                    else
                    {
                        ErrorHandle("Data Error.");
                    }
                }
                else
                {
                    //labelOwner.Text = dt.Rows[0]["Person"].ToString();
                    //hdOwner.Value = dt.Rows[0]["Person"].ToString();
                    //hdOwnerID.Value = dt.Rows[0]["PersonID"].ToString();
                    //labelStation.Text = dt.Rows[0]["Station"].ToString();
                    //labelDepartment.Text = dt.Rows[0]["Department"].ToString();
                    //获取该人币种
                    //LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt.Rows[0]["Station"].ToString());
                    //hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt.Rows[0]["Station"].ToString()), 3);

                    //DataSet ds1 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dt.Rows[0]["PersonID"].ToString());
                    //if (ds1.Tables[0].Rows.Count == 1)
                    //{
                    //    DataTable dt1 = ds1.Tables[0];
                    //    LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt1.Rows[0]["stationCode"].ToString());
                    //    hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt1.Rows[0]["stationCode"].ToString()), 3);
                    //    DataTable dttemp = new DataTable();
                    //    string sqltemp = "select * from ESUSER where Userid='" + dt.Rows[0]["PersonID"].ToString() + "'";
                    //    dttemp = dbc.GetData("eReimbursement", sqltemp);
                    //    if (dttemp.Rows.Count > 0)
                    //    {
                    //        LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dttemp.Rows[0]["Station"].ToString());
                    //        hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dttemp.Rows[0]["Station"].ToString()), 3);
                    //    }
                    //}
                    //else
                    //{
                    //    ErrorHandle("Data Error."); return;
                    //}

                    hdTravelRequestID.Value = ID;
                    hdTravelRequestNo.Value = dt.Rows[0]["No"].ToString();
                    if (dt.Rows[0]["ReportFile"].ToString() != "")
                    {
                        linkTravelReport.Text = dt.Rows[0]["ReportFile"].ToString();
                        linkTravelReport.NavigateUrl = "./Upload/" + dt.Rows[0]["ReportFile"].ToString();
                        hdReport.Value = dt.Rows[0]["ReportFile"].ToString();
                    }
                    if (dt.Rows[0]["Attach"].ToString() != "")
                    {
                        linkScanFile.Text = dt.Rows[0]["Attach"].ToString();
                        linkScanFile.NavigateUrl = "./Upload/" + dt.Rows[0]["Attach"].ToString();
                        hdScanFile.Value = dt.Rows[0]["Attach"].ToString();
                    }
                    X.AddScript("btnExport.enable();");
                }
            }
            else
            {
                //labelOwner.Text = dt.Rows[0]["Person"].ToString();
                //hdOwner.Value = dt.Rows[0]["Person"].ToString();
                //hdOwnerID.Value = dt.Rows[0]["PersonID"].ToString();
                //labelStation.Text = dt.Rows[0]["Station"].ToString();
                //labelDepartment.Text = dt.Rows[0]["Department"].ToString();
                //获取该人币种
                //LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt.Rows[0]["Station"].ToString());
                //hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt.Rows[0]["Station"].ToString()), 3);

                //DataSet ds1 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dt.Rows[0]["PersonID"].ToString());
                //if (ds1.Tables[0].Rows.Count == 1)
                //{
                //    DataTable dt1 = ds1.Tables[0];
                //    LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt1.Rows[0]["stationCode"].ToString());
                //    hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt1.Rows[0]["stationCode"].ToString()), 3);
                //    DataTable dttemp = new DataTable();
                //    string sqltemp = "select * from ESUSER where Userid='" + dt.Rows[0]["PersonID"].ToString() + "'";
                //    dttemp = dbc.GetData("eReimbursement", sqltemp);
                //    if (dttemp.Rows.Count > 0)
                //    {
                //        LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dttemp.Rows[0]["Station"].ToString());
                //        hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dttemp.Rows[0]["Station"].ToString()), 3);
                //    }
                //}
                //else
                //{
                //    ErrorHandle("Data Error."); return;
                //}

                hdTravelRequestID.Value = ID;
                hdTravelRequestNo.Value = dt.Rows[0]["No"].ToString();
                if (dt.Rows[0]["ReportFile"].ToString() != "")
                {
                    linkTravelReport.Text = dt.Rows[0]["ReportFile"].ToString();
                    linkTravelReport.NavigateUrl = "./Upload/" + dt.Rows[0]["ReportFile"].ToString();
                    hdReport.Value = dt.Rows[0]["ReportFile"].ToString();
                }
                if (dt.Rows[0]["Attach"].ToString() != "")
                {
                    linkScanFile.Text = dt.Rows[0]["Attach"].ToString();
                    linkScanFile.NavigateUrl = "./Upload/" + dt.Rows[0]["Attach"].ToString();
                    hdScanFile.Value = dt.Rows[0]["Attach"].ToString();
                }
            }
            //Radio1.Checked = dt.Rows[0]["Budget"].ToString() == "1" ? true : false;
            //Radio2.Checked = dt.Rows[0]["Budget"].ToString() != "1" ? true : false;
            //cbxBudget.SelectedItem.Value = dt.Rows[0]["Budget"].ToString() == "1" ? "YES" : "NO";

            
            ////获取该人币种
            //DataSet ds1 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dt.Rows[0]["PersonID"].ToString());
            //if (ds1.Tables[0].Rows.Count == 1)
            //{
            //    DataTable dt1 = ds1.Tables[0];
            //    LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt1.Rows[0]["CostCenter"].ToString());

            //    DataTable dttemp = new DataTable();
            //    string sqltemp = "select * from ESUSER where Userid='" + dt.Rows[0]["PersonID"].ToString() + "'";
            //    dttemp = dbc.GetData("eReimbursement", sqltemp);
            //    if (dttemp.Rows.Count > 0)
            //    {
            //        LabelCurrency.Text = dttemp.Rows[0]["Currency"].ToString();
            //    }
            //}
            //else
            //{
            //    ErrorHandle("Data Error."); return;
            //}

            //载入已经保存的基本信息
            labelOwner.Text = dt.Rows[0]["Person"].ToString();
            hdOwner.Value = dt.Rows[0]["Person"].ToString();
            hdOwnerID.Value = dt.Rows[0]["PersonID"].ToString();
            labelStation.Text = dt.Rows[0]["Station"].ToString();
            labelDepartment.Text = dt.Rows[0]["Department"].ToString();

            //组合数据
            DataTable dtnew = new DataTable();
            Store2.Reader[0].Fields.Add("Category", RecordFieldType.String);
            dtnew.Columns.Add("Category", typeof(String));
            dtnew.Columns.Add("TotalP", typeof(String));
            dtnew.Columns.Add("TotalC", typeof(String));
            //默认12行
            for (int i = 0; i < 12; i++)
            {
                DataRow dr = dtnew.NewRow();
                dtnew.Rows.Add(dr);
            }
            //默认第一列是标题
            dtnew.Rows[0][0] = "1. Air Ticket - Int'l";
            dtnew.Rows[1][0] = "Air Ticket - Domestic";
            dtnew.Rows[2][0] = "2. Hotel Bill";
            dtnew.Rows[3][0] = "3. Meals";
            dtnew.Rows[4][0] = "4. Entertainment";
            dtnew.Rows[5][0] = "5. Car Rental/Transportation";
            dtnew.Rows[6][0] = "6. Communication";
            dtnew.Rows[7][0] = "7. Local Trip Allowance";
            dtnew.Rows[8][0] = "8. Overseas Trip Allowance";
            dtnew.Rows[9][0] = "9. Airport Tax/Travel Insurance";
            dtnew.Rows[10][0] = "10. Others";
            dtnew.Rows[11][0] = "Total";

            string sqlf = "select distinct Tocity from ETraveleDetail where [No]='" + ID + "'";
            DataTable dtf = dbc.GetData("eReimbursement", sqlf);
            string sqld = "select * from ETraveleDetail where [No]='" + ID + "' order by id";
            DataTable dtall = new DataTable();
            dtall = dbc.GetData("eReimbursement", sqld);
            LabelCurrency.Text = dtall.Rows[0]["Cur"].ToString();//读取费用明细中的本地币种显示
            //140226 显示预算
            DataTable dtbudget = new DataTable();
            dtbudget.Columns.Add("EName", typeof(System.String));
            dtbudget.Columns.Add("Type", typeof(System.String));
            dtbudget.Columns.Add("Current", typeof(System.Decimal));
            dtbudget.Columns.Add("PU", typeof(System.Decimal));
            dtbudget.Columns.Add("PB", typeof(System.Decimal));
            dtbudget.Columns.Add("PPercent", typeof(System.Decimal));
            dtbudget.Columns.Add("DU", typeof(System.Decimal));
            dtbudget.Columns.Add("DB", typeof(System.Decimal));
            dtbudget.Columns.Add("DPercent", typeof(System.Decimal));
            dtbudget.Columns.Add("SU", typeof(System.Decimal));
            dtbudget.Columns.Add("SB", typeof(System.Decimal));
            dtbudget.Columns.Add("SPercent", typeof(System.Decimal));
            //StoreBudget添加Field
            StoreBudget.Reader[0].Fields.Add("EName", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("Type", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("Current", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("PU", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("PB", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("PPercent", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("DU", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("DB", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("DPercent", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("SU", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("SB", RecordFieldType.String);
            StoreBudget.Reader[0].Fields.Add("SPercent", RecordFieldType.String);
            //取得预算日期
            string sqlA = "select convert(varchar(10),min(Tdate0),111) as BudgetDate from ETraveleDetail where No='" + ID + "'";
            DataTable dtA = dbc.GetData("eReimbursement", sqlA);
            //取得4大类合计
            //string sqlB = "select sum(T1) as T1,sum(T2) as T2,sum(T3) as T3,sum(T4) as T4 from (select case when AccountCode='62012000' then isnull(Pamount,0)+isnull(Camount,0) else 0 end as [T1],case when AccountCode='62010900' then isnull(Pamount,0)+isnull(Camount,0) else 0 end as [T2],case when AccountCode='62011900' then isnull(Pamount,0)+isnull(Camount,0) else 0 end as [T3],case when AccountCode='62010500' then isnull(Pamount,0)+isnull(Camount,0) else 0 end as [T4] from ETraveleDetail where No=" + ID + ") t";
            string sqlB = "select sum(isnull(Pamount,0)+isnull(Camount,0)) as Amount,'62010900' as Type from ETraveleDetail where No=" + ID + " and AccountCode='62012000' union all select sum(isnull(Pamount,0)+isnull(Camount,0)) as Amount,'62011900' as Type from ETraveleDetail where No=" + ID + " and AccountCode='62010900' union all select sum(isnull(Pamount,0)+isnull(Camount,0)) as Amount,'62010500' as Type from ETraveleDetail where No=" + ID + " and AccountCode='62011900' union all select sum(isnull(Pamount,0)+isnull(Camount,0)) as Amount,'62012000' as Type from ETraveleDetail where No=" + ID + " and AccountCode='62010500'";
            DataTable dtB = dbc.GetData("eReimbursement", sqlB);
            //取得传递预算的参数
            string userid = dt.Rows[0]["PersonID"].ToString();
            string dpt = dt.Rows[0]["Department"].ToString();
            string ostation = dt.Rows[0]["CostCenter"].ToString();//预算站点,与基本信息中的CostCenter一致(Station2)
            string tstation = ostation;//Etravel表中的Station2,目前与预算站点一致,不允许更改
            string year = Convert.ToDateTime(dtA.Rows[0]["BudgetDate"].ToString()).Year.ToString();
            string month = Convert.ToDateTime(dtA.Rows[0]["BudgetDate"].ToString()).Month.ToString();
            string accountcode = "";
            for (int g = 0; g < dtB.Rows.Count; g++)
            {
                if (Convert.ToDecimal(dtB.Rows[g]["Amount"].ToString()) != 0)
                {
                    DataRow dr = dtbudget.NewRow();
                    dr["Current"] = Convert.ToDecimal(dtB.Rows[g]["Amount"].ToString());
                    dr["Type"] = dtB.Rows[g]["Type"].ToString();
                    accountcode = dtB.Rows[g]["Type"].ToString();
                    DataTable dtC = new DataTable();
                    dtC = Comm.RtnEB(userid, dpt, ostation, tstation, accountcode, year, month);
                    for (int i = 0; i < dtC.Rows.Count; i++)
                    {
                        if (dtC.Rows[i]["Type"].ToString() == "全年个人")
                        {
                            dr["PU"] = Convert.ToDecimal(dtC.Rows[i]["Used"].ToString());
                            dr["PB"] = Convert.ToDecimal(dtC.Rows[i]["Budget"].ToString());
                        }
                        else if (dtC.Rows[i]["Type"].ToString() == "全年部门")
                        {
                            dr["DU"] = Convert.ToDecimal(dtC.Rows[i]["Used"].ToString());
                            dr["DB"] = Convert.ToDecimal(dtC.Rows[i]["Budget"].ToString());
                        }
                        else if (dtC.Rows[i]["Type"].ToString() == "全年站点")
                        {
                            dr["SU"] = Convert.ToDecimal(dtC.Rows[i]["Used"].ToString());
                            dr["SB"] = Convert.ToDecimal(dtC.Rows[i]["Budget"].ToString());
                        }
                    }
                    dtbudget.Rows.Add(dr);
                }
            }
            //计算%,取得名称
            for (int i = 0; i < dtbudget.Rows.Count; i++)
            {
                if (Convert.ToDecimal(dtbudget.Rows[i]["PB"].ToString()) != 0)//如果Budget不为0,则计算%
                {
                    dtbudget.Rows[i]["PPercent"] = System.Math.Round(Convert.ToDecimal(dtbudget.Rows[i]["PU"].ToString()) / Convert.ToDecimal(dtbudget.Rows[i]["PB"].ToString()), 4) * 100;
                }
                if (Convert.ToDecimal(dtbudget.Rows[i]["DB"].ToString()) != 0)//如果Budget不为0,则计算%
                {
                    dtbudget.Rows[i]["DPercent"] = System.Math.Round(Convert.ToDecimal(dtbudget.Rows[i]["DU"].ToString()) / Convert.ToDecimal(dtbudget.Rows[i]["DB"].ToString()), 4) * 100;
                }
                if (Convert.ToDecimal(dtbudget.Rows[i]["SB"].ToString()) != 0)//如果Budget不为0,则计算%
                {
                    dtbudget.Rows[i]["SPercent"] = System.Math.Round(Convert.ToDecimal(dtbudget.Rows[i]["SU"].ToString()) / Convert.ToDecimal(dtbudget.Rows[i]["SB"].ToString()), 4) * 100;
                }
                if (dtbudget.Rows[i]["Type"].ToString()=="62010900")
                {
                    dtbudget.Rows[i]["EName"] = "Travel expense";
                }
                else if (dtbudget.Rows[i]["Type"].ToString() == "62011900")
                {
                    dtbudget.Rows[i]["EName"] = "Entertainment";
                }
                else if (dtbudget.Rows[i]["Type"].ToString() == "62010500")
                {
                    dtbudget.Rows[i]["EName"] = "Transportation";
                }
                else if (dtbudget.Rows[i]["Type"].ToString() == "62012000")
                {
                    dtbudget.Rows[i]["EName"] = "Communication";
                }
            }
            
            bool PB = false, DB = false, SB = false;
            for (int i = 0; i < dtbudget.Rows.Count; i++)
            {
                if (Convert.ToDecimal(dtbudget.Rows[i]["PB"].ToString()) != 0)//是否显示个人预算列
                {
                    PB = true;
                }
                if (Convert.ToDecimal(dtbudget.Rows[i]["DB"].ToString()) != 0)//是否显示部门预算列
                {
                    DB = true;
                }
                if (Convert.ToDecimal(dtbudget.Rows[i]["SB"].ToString()) != 0)//是否显示站点预算列
                {
                    SB = true;
                }
            }
            //添加数据列
            var cm = GridPanelBudget.ColumnModel;
            cm.Columns.Add(new Column
            {
                DataIndex = "EName",
                Header = "Expense Item",
                Sortable = false,
                Resizable = false,
                MenuDisabled = true,
                Width = 100
            });
            cm.Columns.Add(new Column
            {
                DataIndex = "Current",
                Header = "Current",
                Renderer = new Renderer { Fn = "GetNumber" },
                Sortable = false,
                Resizable = false,
                MenuDisabled = true,
                Width = 100
            });
            //显示个人预算部分
            if (PB)
            {
                cm.Columns.Add(new Column
                {
                    DataIndex = "PU",
                    Header = "Personal Used",
                    Renderer = new Renderer { Fn = "GetNumber" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
                cm.Columns.Add(new Column
                {
                    DataIndex = "PB",
                    Header = "Personal Budget",
                    Renderer = new Renderer { Fn = "GetNumber" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
                cm.Columns.Add(new Column
                {
                    DataIndex = "PPercent",
                    Header = "%(Used/Budget)",
                    Renderer = new Renderer { Fn = "GetNumberPercent" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
            }
            if (DB)
            {
                cm.Columns.Add(new Column
                {
                    DataIndex = "DU",
                    Header = "Department Used",
                    Renderer = new Renderer { Fn = "GetNumber" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
                cm.Columns.Add(new Column
                {
                    DataIndex = "DB",
                    Header = "Department Budget",
                    Renderer = new Renderer { Fn = "GetNumber" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
                cm.Columns.Add(new Column
                {
                    DataIndex = "DPercent",
                    Header = "%(Used/Budget)",
                    Renderer = new Renderer { Fn = "GetNumberPercent" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
            }
            if (SB)
            {
                cm.Columns.Add(new Column
                {
                    DataIndex = "SU",
                    Header = "Unit Used",
                    Renderer = new Renderer { Fn = "GetNumber" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
                cm.Columns.Add(new Column
                {
                    DataIndex = "SB",
                    Header = "Unit Budget",
                    Renderer = new Renderer { Fn = "GetNumber" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
                cm.Columns.Add(new Column
                {
                    DataIndex = "SPercent",
                    Header = "%(Used/Budget)",
                    Renderer = new Renderer { Fn = "GetNumberPercent" },
                    Sortable = false,
                    Resizable = false,
                    MenuDisabled = true,
                    Width = 100
                });
            }
            StoreBudget.DataSource = dtbudget;
            StoreBudget.DataBind();
            //
            if (dtf.Rows.Count == 1)
            {
                
                for (int i = 0; i < dtall.Rows.Count; i++)
                {
                    if (i % 11 == 0)
                    {
                        string colname = "Station_" + (i / 11).ToString() + "_P";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                        colname = "Station_" + (i / 11).ToString() + "_C";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                    }
                    dtnew.Rows[i % 11][3 + i / 11 * 2] = dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[i % 11][3 + i / 11 * 2 + 1] = dtall.Rows[i]["Camount"].ToString();
                    //列合计
                    string df = dtnew.Rows[11][3 + i / 11 * 2].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2].ToString();
                    string cf = dtall.Rows[i]["Pamount"].ToString() == "" ? "0" : dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2] = Convert.ToDecimal(df) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df) + Convert.ToDecimal(cf)).ToString();

                    string bf = dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString();
                    string af = dtall.Rows[i]["Camount"].ToString() == "" ? "0" : dtall.Rows[i]["Camount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2 + 1] = Convert.ToDecimal(bf) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf) + Convert.ToDecimal(af)).ToString();
                    //行合计
                    string df1 = dtnew.Rows[i % 11][1].ToString() == "" ? "0" : dtnew.Rows[i % 11][1].ToString();
                    dtnew.Rows[i % 11][1] = Convert.ToDecimal(df1) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df1) + Convert.ToDecimal(cf)).ToString();
                    string bf1 = dtnew.Rows[i % 11][2].ToString() == "" ? "0" : dtnew.Rows[i % 11][2].ToString();
                    dtnew.Rows[i % 11][2] = Convert.ToDecimal(bf1) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf1) + Convert.ToDecimal(af)).ToString();
                    //总合计
                    string tf = dtnew.Rows[11][1].ToString() == "" ? "0" : dtnew.Rows[11][1].ToString();
                    dtnew.Rows[11][1] = Convert.ToDecimal(tf) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(tf) + Convert.ToDecimal(cf)).ToString();
                    string ff = dtnew.Rows[11][2].ToString() == "" ? "0" : dtnew.Rows[11][2].ToString();
                    dtnew.Rows[11][2] = Convert.ToDecimal(ff) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(ff) + Convert.ToDecimal(af)).ToString();
                }
                dtnew.Columns.Add("Station_1_P", typeof(String));
                dtnew.Columns.Add("Station_1_C", typeof(String));
                Store2.Reader[0].Fields.Add("Station_1_P", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("Station_1_C", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("TotalP", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("TotalC", RecordFieldType.String);

                Store2.DataSource = dtnew;
                Store2.DataBind();

                var TitleCol = new Column();
                TitleCol.DataIndex = "Category";
                TitleCol.Sortable = false;
                TitleCol.Resizable = false;
                TitleCol.MenuDisabled = true;
                TitleCol.Width = 180;
                this.GridPanel2.ColumnModel.Columns.Add(TitleCol);

                var Title1 = new Ext.Net.Label();
                Title1.Text = "Destination:";
                HeaderColumn hcTitle1 = new HeaderColumn();
                hcTitle1.Component.Add(Title1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTitle1);

                var Title2 = new Ext.Net.Label();
                Title2.Text = "Cost Center:";
                HeaderColumn hcTitle2 = new HeaderColumn();
                hcTitle2.Component.Add(Title2);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTitle2);

                var Title3 = new Ext.Net.Label();
                Title3.Text = "Travel Period:";
                HeaderColumn hcTitle3 = new HeaderColumn();
                hcTitle3.Component.Add(Title3);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitle3);

                int colc = dtall.Rows.Count / 11;
                for (int i = 0; i < colc; i++)//准备复制已有信息
                {
                    string fieldPName = "Station_" + i.ToString() + "_P";
                    string fieldCName = "Station_" + i.ToString() + "_C";

                    var txtP = new Ext.Net.NumberField();
                    //txtP.Listeners.Blur.Fn = "Cal";
                    var colP = new Column();
                    colP.Header = "Person Pay";
                    colP.DataIndex = fieldPName;
                    colP.Sortable = false;
                    colP.Resizable = false;
                    colP.MenuDisabled = true;
                    colP.Width = 110;
                    colP.Editor.Add(txtP);
                    this.GridPanel2.ColumnModel.Columns.Add(colP);

                    var txtC = new Ext.Net.NumberField();
                    //txtC.Listeners.Blur.Fn = "Cal";
                    var colC = new Column();
                    colC.Header = "Company Pay";
                    colC.DataIndex = fieldCName;
                    colC.Sortable = false;
                    colC.Resizable = false;
                    colC.MenuDisabled = true;
                    colC.Width = 110;
                    colC.Editor.Add(txtC);
                    this.GridPanel2.ColumnModel.Columns.Add(colC);

                    var Station = new Ext.Net.TextField();
                    Station.Text = dtall.Rows[i * 11]["Tocity"].ToString();
                    HeaderColumn hcStation = new HeaderColumn();
                    hcStation.Component.Add(Station);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation);

                    var Button = new Ext.Net.Button();
                    Button.Text = "Remove";
                    Button.Listeners.Click.Handler = "removecol(this," + i.ToString() + ");";
                    Button.Listeners.Click.Delay = 50;
                    HeaderColumn hcButton = new HeaderColumn();
                    hcButton.Component.Add(Button);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton);

                    var CostCenter = new Ext.Net.TextField();
                    CostCenter.Disabled = true;
                    CostCenter.EmptyText = "Station Code";
                    CostCenter.Text = dtall.Rows[i * 11]["TSation"].ToString();
                    HeaderColumn hcCostCenter = new HeaderColumn();
                    hcCostCenter.Component.Add(CostCenter);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter);

                    //HeaderColumn hcCostCenter1 = new HeaderColumn();
                    //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter1);
                    var ButtonGetSum = new Ext.Net.Button();
                    ButtonGetSum.Text = "Calculate";
                    ButtonGetSum.Listeners.Click.Handler = "GetSum();";
                    ButtonGetSum.Listeners.Click.Delay = 50;
                    HeaderColumn hcButtonGetSum = new HeaderColumn();
                    hcButtonGetSum.Component.Add(ButtonGetSum);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum);

                    var datefrom = new DateField();
                    string dtfroms = dtall.Rows[i * 11]["Tdate0"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate0"].ToString()).ToString("yyyy/MM/dd");
                    datefrom.SetValue(dtfroms);
                    datefrom.EmptyText = "yyyy/MM/dd";
                    datefrom.Format = "yyyy/MM/dd";
                    HeaderColumn Date1 = new HeaderColumn();
                    Date1.Component.Add(datefrom);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1);

                    var dateto = new DateField();
                    string datetos = dtall.Rows[i * 11]["Tdate"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate"].ToString()).ToString("yyyy/MM/dd");
                    dateto.SetValue(datetos);
                    dateto.EmptyText = "yyyy/MM/dd";
                    dateto.Format = "yyyy/MM/dd";
                    HeaderColumn Date2 = new HeaderColumn();
                    Date2.Component.Add(dateto);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2);
                }

                var txtP1 = new Ext.Net.NumberField();
                //txtP1.Listeners.Blur.Fn = "Cal";
                //txtP1.Listeners.Blur.Delay = 50;
                var colP1 = new Column();
                colP1.Header = "Person Pay";
                colP1.DataIndex = "Station_1_P";
                colP1.Sortable = false;
                colP1.Resizable = false;
                colP1.MenuDisabled = true;
                colP1.Width = 110;
                colP1.Locked = true;
                colP1.Editor.Add(txtP1);
                colP1.Hidden = true;
                this.GridPanel2.ColumnModel.Columns.Add(colP1);

                var txtC1 = new Ext.Net.NumberField();
                //txtC1.Listeners.Blur.Fn = "Cal";
                //txtC1.Listeners.Blur.Delay = 50;
                var colC1 = new Column();
                colC1.Header = "Company Pay";
                colC1.DataIndex = "Station_1_C";
                colC1.Sortable = false;
                colC1.Resizable = false;
                colC1.MenuDisabled = true;
                colC1.Width = 110;
                colC1.Locked = true;
                colC1.Editor.Add(txtC1);
                colC1.Hidden = true;
                this.GridPanel2.ColumnModel.Columns.Add(colC1);

                var TotalP = new Ext.Net.TextField();
                TotalP.ReadOnly = true;
                TotalP.Cls = "custom-row";
                var colTotalP = new Column();
                colTotalP.DataIndex = "TotalP";
                colTotalP.Sortable = false;
                colTotalP.Resizable = false;
                colTotalP.MenuDisabled = true;
                colTotalP.Width = 110;
                colTotalP.Locked = true;
                colTotalP.Editor.Add(TotalP);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalP);

                var TotalC = new Ext.Net.TextField();
                TotalC.ReadOnly = true;
                TotalC.Cls = "custom-row";
                var colTotalC = new Column();
                colTotalC.DataIndex = "TotalC";
                colTotalC.Sortable = false;
                colTotalC.Resizable = false;
                colTotalC.MenuDisabled = true;
                colTotalC.Width = 110;
                colTotalC.Locked = true;
                colTotalC.Editor.Add(TotalC);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalC);

                var Station1 = new Ext.Net.TextField();
                HeaderColumn hcStation1 = new HeaderColumn();
                hcStation1.Component.Add(Station1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation1);

                var CostCenter0 = new Ext.Net.TextField();
                CostCenter0.Disabled = true;
                CostCenter0.EmptyText = "Station Code";
                HeaderColumn hcCostCenter0 = new HeaderColumn();
                hcCostCenter0.Component.Add(CostCenter0);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter0);

                HeaderColumn hcDate3 = new HeaderColumn();
                var Date3 = new DateField();
                Date3.EmptyText = "yyyy/MM/dd";
                Date3.Format = "yyyy/MM/dd";
                //Date3.SetValue("2013/11/1");
                hcDate3.Component.Add(Date3);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcDate3);


                var Button1 = new Ext.Net.Button();
                Button1.Text = "Remove";
                Button1.Listeners.Click.Handler = "removecol(this,1);";
                Button1.Listeners.Click.Delay = 50;
                HeaderColumn hcButton1 = new HeaderColumn();
                hcButton1.Component.Add(Button1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton1);

                var ButtonGetSum1 = new Ext.Net.Button();
                ButtonGetSum1.Text = "Calculate";
                ButtonGetSum1.Listeners.Click.Handler = "GetSum();";
                ButtonGetSum1.Listeners.Click.Delay = 50;
                HeaderColumn hcButtonGetSum1 = new HeaderColumn();
                hcButtonGetSum1.Component.Add(ButtonGetSum1);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum1);

                HeaderColumn hcDate4 = new HeaderColumn();
                var Date4 = new DateField();
                Date4.EmptyText = "yyyy/MM/dd";
                Date4.Format = "yyyy/MM/dd";
                //Date4.SetValue("2013/11/2");
                hcDate4.Component.Add(Date4);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcDate4);

                HeaderColumn hcTotal1 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal1);

                HeaderColumn hcTotal3 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal3);

                var TitleTotalP = new Ext.Net.Label();
                TitleTotalP.Text = "Total(Person)";
                TitleTotalP.Cls = "custom-row";
                HeaderColumn hcTitleTotalP = new HeaderColumn();
                hcTitleTotalP.Component.Add(TitleTotalP);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalP);

                HeaderColumn hcTotal2 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal2);

                HeaderColumn hcTotal4 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal4);

                var TitleTotalC = new Ext.Net.Label();
                TitleTotalC.Text = "Total(Comp)";
                TitleTotalC.Cls = "custom-row";
                HeaderColumn hcTitleTotalC = new HeaderColumn();
                hcTitleTotalC.Component.Add(TitleTotalC);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalC);

                X.AddScript("GridPanel2.colModel.setHidden(3, true);GridPanel2.colModel.setHidden(4, true);Store2.removeField('Station_1_P');Store2.removeField('Station_1_C');");
            }
            else
            {
                //string sqld = "select * from ETraveleDetail where [No]='" + ID + "' order by id";
                //DataTable dtall = new DataTable();
                //dtall = dbc.GetData("eReimbursement", sqld);
                for (int i = 0; i < dtall.Rows.Count; i++)
                {
                    if (i % 11 == 0)
                    {
                        string colname = "Station_" + (i / 11).ToString() + "_P";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                        colname = "Station_" + (i / 11).ToString() + "_C";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                    }
                    dtnew.Rows[i % 11][3 + i / 11 * 2] = dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[i % 11][3 + i / 11 * 2 + 1] = dtall.Rows[i]["Camount"].ToString();
                    //列合计
                    string df = dtnew.Rows[11][3 + i / 11 * 2].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2].ToString();
                    string cf = dtall.Rows[i]["Pamount"].ToString() == "" ? "0" : dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2] = Convert.ToDecimal(df) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df) + Convert.ToDecimal(cf)).ToString();

                    string bf = dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString();
                    string af = dtall.Rows[i]["Camount"].ToString() == "" ? "0" : dtall.Rows[i]["Camount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2 + 1] = Convert.ToDecimal(bf) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf) + Convert.ToDecimal(af)).ToString();
                    //行合计
                    string df1 = dtnew.Rows[i % 11][1].ToString() == "" ? "0" : dtnew.Rows[i % 11][1].ToString();
                    dtnew.Rows[i % 11][1] = Convert.ToDecimal(df1) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df1) + Convert.ToDecimal(cf)).ToString();
                    string bf1 = dtnew.Rows[i % 11][2].ToString() == "" ? "0" : dtnew.Rows[i % 11][2].ToString();
                    dtnew.Rows[i % 11][2] = Convert.ToDecimal(bf1) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf1) + Convert.ToDecimal(af)).ToString();
                    //总合计
                    string tf = dtnew.Rows[11][1].ToString() == "" ? "0" : dtnew.Rows[11][1].ToString();
                    dtnew.Rows[11][1] = Convert.ToDecimal(tf) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(tf) + Convert.ToDecimal(cf)).ToString();
                    string ff = dtnew.Rows[11][2].ToString() == "" ? "0" : dtnew.Rows[11][2].ToString();
                    dtnew.Rows[11][2] = Convert.ToDecimal(ff) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(ff) + Convert.ToDecimal(af)).ToString();
                }
                Store2.Reader[0].Fields.Add("TotalP", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("TotalC", RecordFieldType.String);

                Store2.DataSource = dtnew;
                Store2.DataBind();

                var TitleCol = new Column();
                TitleCol.DataIndex = "Category";
                TitleCol.Sortable = false;
                TitleCol.Resizable = false;
                TitleCol.MenuDisabled = true;
                TitleCol.Width = 180;
                this.GridPanel2.ColumnModel.Columns.Add(TitleCol);

                var Title1 = new Ext.Net.Label();
                Title1.Text = "Destination:";
                HeaderColumn hcTitle1 = new HeaderColumn();
                hcTitle1.Component.Add(Title1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTitle1);

                var Title2 = new Ext.Net.Label();
                Title2.Text = "Cost Center:";
                HeaderColumn hcTitle2 = new HeaderColumn();
                hcTitle2.Component.Add(Title2);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTitle2);

                var Title3 = new Ext.Net.Label();
                Title3.Text = "Travel Period:";
                HeaderColumn hcTitle3 = new HeaderColumn();
                hcTitle3.Component.Add(Title3);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitle3);

                int colc = dtall.Rows.Count / 11;
                for (int i = 0; i < colc; i++)//准备复制已有信息
                {
                    string fieldPName = "Station_" + i.ToString() + "_P";
                    //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float);
                    //Store2.Reader[0].Fields.Add(fieldPName, RecordFieldType.Float);
                    //this.Store2.AddField(field1, columncount);
                    string fieldCName = "Station_" + i.ToString() + "_C";
                    //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float);
                    //Store2.Reader[0].Fields.Add(fieldCName, RecordFieldType.Float);

                    var txtP = new Ext.Net.NumberField();
                    //txtP.Listeners.Blur.Fn = "Cal";
                    var colP = new Column();
                    colP.Header = "Person Pay";
                    colP.DataIndex = fieldPName;
                    colP.Sortable = false;
                    colP.Resizable = false;
                    colP.MenuDisabled = true;
                    colP.Width = 110;
                    colP.Editor.Add(txtP);
                    this.GridPanel2.ColumnModel.Columns.Add(colP);

                    var txtC = new Ext.Net.NumberField();
                    //txtC.Listeners.Blur.Fn = "Cal";
                    var colC = new Column();
                    colC.Header = "Company Pay";
                    colC.DataIndex = fieldCName;
                    colC.Sortable = false;
                    colC.Resizable = false;
                    colC.MenuDisabled = true;
                    colC.Width = 110;
                    colC.Editor.Add(txtC);
                    this.GridPanel2.ColumnModel.Columns.Add(colC);

                    var Station = new Ext.Net.TextField();
                    Station.Text = dtall.Rows[i * 11]["Tocity"].ToString();
                    HeaderColumn hcStation = new HeaderColumn();
                    hcStation.Component.Add(Station);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation);

                    var Button = new Ext.Net.Button();
                    Button.Text = "Remove";
                    Button.Listeners.Click.Handler = "removecol(this," + i.ToString() + ");";
                    Button.Listeners.Click.Delay = 50;
                    HeaderColumn hcButton = new HeaderColumn();
                    hcButton.Component.Add(Button);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton);

                    var CostCenter = new Ext.Net.TextField();
                    CostCenter.Disabled = true;
                    CostCenter.EmptyText = "Station Code";
                    CostCenter.Text = dtall.Rows[i * 11]["TSation"].ToString();
                    HeaderColumn hcCostCenter = new HeaderColumn();
                    hcCostCenter.Component.Add(CostCenter);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter);

                    //HeaderColumn hcCostCenter1 = new HeaderColumn();
                    //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter1);
                    var ButtonGetSum = new Ext.Net.Button();
                    ButtonGetSum.Text = "Calculate";
                    ButtonGetSum.Listeners.Click.Handler = "GetSum();";
                    ButtonGetSum.Listeners.Click.Delay = 50;
                    HeaderColumn hcButtonGetSum = new HeaderColumn();
                    hcButtonGetSum.Component.Add(ButtonGetSum);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum);

                    var datefrom = new DateField();
                    string dtfroms = dtall.Rows[i * 11]["Tdate0"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate0"].ToString()).ToString("yyyy/MM/dd");
                    datefrom.SetValue(dtfroms);
                    datefrom.EmptyText = "yyyy/MM/dd";
                    datefrom.Format = "yyyy/MM/dd";
                    HeaderColumn Date1 = new HeaderColumn();
                    Date1.Component.Add(datefrom);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1);

                    var dateto = new DateField();
                    string datetos = dtall.Rows[i * 11]["Tdate"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate"].ToString()).ToString("yyyy/MM/dd");
                    dateto.SetValue(datetos);
                    dateto.EmptyText = "yyyy/MM/dd";
                    dateto.Format = "yyyy/MM/dd";
                    HeaderColumn Date2 = new HeaderColumn();
                    Date2.Component.Add(dateto);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2);
                }

                var TotalP = new Ext.Net.TextField();
                TotalP.ReadOnly = true;
                TotalP.Cls = "custom-row";
                var colTotalP = new Column();
                colTotalP.DataIndex = "TotalP";
                colTotalP.Sortable = false;
                colTotalP.Resizable = false;
                colTotalP.MenuDisabled = true;
                colTotalP.Width = 110;
                colTotalP.Locked = true;
                colTotalP.Editor.Add(TotalP);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalP);

                var TotalC = new Ext.Net.TextField();
                TotalC.ReadOnly = true;
                TotalC.Cls = "custom-row";
                var colTotalC = new Column();
                colTotalC.DataIndex = "TotalC";
                colTotalC.Sortable = false;
                colTotalC.Resizable = false;
                colTotalC.MenuDisabled = true;
                colTotalC.Width = 110;
                colTotalC.Locked = true;
                colTotalC.Editor.Add(TotalC);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalC);

                HeaderColumn hcTotal1 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal1);

                HeaderColumn hcTotal2 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal2);

                HeaderColumn hcTotal3 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal3);

                HeaderColumn hcTotal4 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal4);

                var TitleTotalP = new Ext.Net.Label();
                TitleTotalP.Text = "Total(Person)";
                TitleTotalP.Cls = "custom-row";
                HeaderColumn hcTitleTotalP = new HeaderColumn();
                hcTitleTotalP.Component.Add(TitleTotalP);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalP);

                var TitleTotalC = new Ext.Net.Label();
                TitleTotalC.Text = "Total(Comp)";
                TitleTotalC.Cls = "custom-row";
                HeaderColumn hcTitleTotalC = new HeaderColumn();
                hcTitleTotalC.Component.Add(TitleTotalC);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalC);
            }
            //根据语言设置
            //string sqlp = "";
            //if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn")
            //{
            //    sqlp += ",[COAName]=t2.ADes";
            //}
            //else
            //{
            //    sqlp += ",[COAName]=t2.SAccountName";
            //}

            //string detailsql = "select t1.* from ETraveleDetail t1 where t1.No='" + ID + "' order by DetailCode";
            //DataTable dtdetail = new DataTable();
            //dtdetail = dbc.GetData("eReimbursement", detailsql);
            //DataTable dtnew = new DataTable();
            //dtnew.Columns.Add("DetailID", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Tocity", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("AccountCode", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Cur", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Pamount", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Camount", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("TSation", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Tdate", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Tdate0", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Type", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Department1", System.Type.GetType("System.String"));
            //for (int i = 0; i < dtdetail.Rows.Count; i++)
            //{
            //    DataRow dr = dtnew.NewRow();
            //    dr["DetailID"] = dtdetail.Rows[i]["ID"].ToString();
            //    dr["Tocity"] = dtdetail.Rows[i]["Tocity"].ToString();
            //    dr["AccountCode"] = dtdetail.Rows[i]["AccountCode"].ToString();
            //    dr["Cur"] = dtdetail.Rows[i]["Cur"].ToString();
            //    dr["Pamount"] = dtdetail.Rows[i]["Pamount"].ToString();
            //    dr["Camount"] = dtdetail.Rows[i]["Camount"].ToString();
            //    dr["TSation"] = dtdetail.Rows[i]["TSation"].ToString();
            //    dr["Tdate"] = dtdetail.Rows[i]["Tdate"].ToString() == "" ? "" : Convert.ToDateTime(dtdetail.Rows[i]["Tdate"].ToString()).ToString("yyyy/MM/dd");
            //    dr["Tdate0"] = dtdetail.Rows[i]["Tdate0"].ToString() == "" ? "" : Convert.ToDateTime(dtdetail.Rows[i]["Tdate0"].ToString()).ToString("yyyy/MM/dd");
            //    dr["Type"] = hdStatus.Value.ToString();//传递给子页面以判断按钮状态 0:允许修改,允许上传;1:不允许修改,允许上传;2:全不允许
            //    dr["Department1"] = dtdetail.Rows[i]["Department1"].ToString();
            //    dtnew.Rows.Add(dr);
            //}
            //Store3.DataSource = dtnew;
            //Store3.DataBind();
            ////txtSum.Text = (psum + csum).ToString("#,##0.00"); hdSum.Value = (psum + csum).ToString();
            ////txtPersonalSum.Text = psum.ToString("#,##0.00"); hdPamountSum.Value = psum.ToString();
            ////txtCompanySum.Text = csum.ToString("#,##0.00"); hdCamountSum.Value = csum.ToString();
            //txtRemark.Text = dt.Rows[0]["Remark"].ToString();
            //if (dt.Rows[0]["CCMailList"].ToString() != "")
            //{
            //    ToolTipCC.Html = dt.Rows[0]["CCMailList"].ToString().Replace(",", "<br />");
            //    DataTable dtCCMailList = new DataTable();
            //    dtCCMailList.Columns.Add("Email", typeof(String));
            //    for (int i = 0; i < dt.Rows[0]["CCMailList"].ToString().Split(',').Length; i++)
            //    {
            //        DataRow dr = dtCCMailList.NewRow();
            //        dr["Email"] = dt.Rows[0]["CCMailList"].ToString().Split(',')[i];
            //        dtCCMailList.Rows.Add(dr);
            //    }
            //    StoreCCList.DataSource = dtCCMailList;
            //    StoreCCList.DataBind();
            //}
        }
Ejemplo n.º 3
0
        public void AddCol(string StoreData, string header0string, string header1string, string header2string, string DSTN, string LeaveDate1, string LeaveDate2)
        {
            StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(StoreData, null);
            XmlNode xml = eSubmit.Xml;
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml.InnerXml);
            int dtcol = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes.Count;
            int colc = (dtcol - 3) / 2;
            DataTable dt = new DataTable();

            Store2.Reader[0].Fields.Add("Category", RecordFieldType.String);
            dt.Columns.Add(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[0].Name, typeof(String));
            for (int i = 0; i < (dtcol - 3) / 2; i++)
            {
                Store2.Reader[0].Fields.Add("Station_" + i.ToString() + "_P", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("Station_" + i.ToString() + "_C", RecordFieldType.String);
                dt.Columns.Add("Station_" + i.ToString() + "_P", typeof(String));
                dt.Columns.Add("Station_" + i.ToString() + "_C", typeof(String));
            }
            string fieldPNameNew = "Station_" + colc.ToString() + "_P";
            Store2.Reader[0].Fields.Add(fieldPNameNew, RecordFieldType.String);
            string fieldCNameNew = "Station_" + colc.ToString() + "_C";
            Store2.Reader[0].Fields.Add(fieldCNameNew, RecordFieldType.String);
            dt.Columns.Add(fieldPNameNew, typeof(String));
            dt.Columns.Add(fieldCNameNew, typeof(String));
            //合计列
            Store2.Reader[0].Fields.Add("TotalP", RecordFieldType.String);
            Store2.Reader[0].Fields.Add("TotalC", RecordFieldType.String);
            dt.Columns.Add("TotalP", typeof(String));
            dt.Columns.Add("TotalC", typeof(String));
            //decimal row0Psum = 0, row0Csum = 0, row1Psum = 0, row1Csum = 0, row2Psum = 0, row2Csum = 0, row3Psum = 0, row3Csum = 0, row4Psum = 0, row4Csum = 0, row5Psum = 0, row5Csum = 0, row6Psum = 0, row6Csum = 0, row7Psum = 0, row7Csum = 0, row8Psum = 0, row8Csum = 0, row9Psum = 0, row9Csum = 0, row10Psum = 0, row10Csum = 0;

            for (int i = 0; i < doc.SelectNodes("records").Item(0).SelectNodes("record").Count - 1; i++)
            {
                DataRow dr = dt.NewRow();
                dt.Rows.Add(dr);
                for (int j = 0; j < dtcol - 3; j++)
                {
                    string wr = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).ChildNodes[j].InnerText;
                    dt.Rows[i][j] = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).ChildNodes[j].InnerText;
                }
            }
            dt.Rows.Add(dt.NewRow());
            dt.Rows[11][0] = "Total";
            for (int i = 0; i < 11; i++)
            {
                for (int j = 1; j < dtcol - 3; j++)
                {
                    if (j % 2 == 1)
                    {
                        dt.Rows[i][dtcol - 1] = (Convert.ToDecimal(dt.Rows[i][dtcol - 1].ToString() == "" ? "0" : dt.Rows[i][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[i][dtcol - 1].ToString() == "" ? "0" : dt.Rows[i][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString();
                        dt.Rows[11][dtcol - 1] = (Convert.ToDecimal(dt.Rows[11][dtcol - 1].ToString() == "" ? "0" : dt.Rows[11][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[11][dtcol - 1].ToString() == "" ? "0" : dt.Rows[11][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString();
                    }
                    else
                    {
                        dt.Rows[i][dtcol] = (Convert.ToDecimal(dt.Rows[i][dtcol].ToString() == "" ? "0" : dt.Rows[i][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[i][dtcol].ToString() == "" ? "0" : dt.Rows[i][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString();
                        dt.Rows[11][dtcol] = (Convert.ToDecimal(dt.Rows[11][dtcol].ToString() == "" ? "0" : dt.Rows[11][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[11][dtcol].ToString() == "" ? "0" : dt.Rows[11][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString();
                    }
                    dt.Rows[11][j] = (Convert.ToDecimal(dt.Rows[11][j].ToString() == "" ? "0" : dt.Rows[11][j].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[11][j].ToString() == "" ? "0" : dt.Rows[11][j].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString();
                }
            }

            Store2.DataSource = dt;
            Store2.DataBind();

            var TitleCol = new Column();
            TitleCol.DataIndex = "Category";
            TitleCol.Sortable = false;
            TitleCol.Resizable = false;
            TitleCol.MenuDisabled = true;
            TitleCol.Width = 180;
            this.GridPanel2.ColumnModel.Columns.Add(TitleCol);

            var Title1 = new Ext.Net.Label();
            Title1.Text = "Destination:";
            HeaderColumn hcTitle1 = new HeaderColumn();
            hcTitle1.Component.Add(Title1);
            this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTitle1);

            var Title2 = new Ext.Net.Label();
            Title2.Text = "Cost Center:";
            HeaderColumn hcTitle2 = new HeaderColumn();
            hcTitle2.Component.Add(Title2);
            this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTitle2);

            var Title3 = new Ext.Net.Label();
            Title3.Text = "Travel Period:";
            HeaderColumn hcTitle3 = new HeaderColumn();
            hcTitle3.Component.Add(Title3);
            this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitle3);
            //取得出差站点列表
            DataSet GetCityInfo = DIMERCO.SDK.Utilities.LSDK.GetCityInfo("", 8000);
            DataTable dtstation = GetCityInfo.Tables[0];
            //取得成本中心列表
            DataSet GetCCInfo = DIMERCO.SDK.Utilities.LSDK.getCostCenterBYStationCode("", 8000);
            DataTable dtCC = GetCCInfo.Tables[0];
            for (int i = 0; i < colc; i++)//准备复制已有信息
            {
                string fieldPName = "Station_" + i.ToString() + "_P";
                //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float);
                //Store2.Reader[0].Fields.Add(fieldPName, RecordFieldType.Float);
                //this.Store2.AddField(field1, columncount);
                string fieldCName = "Station_" + i.ToString() + "_C";
                //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float);
                //Store2.Reader[0].Fields.Add(fieldCName, RecordFieldType.Float);

                var txtP = new Ext.Net.NumberField();
                //txtP.Listeners.Blur.Fn = "Cal";
                var colP = new Column();
                colP.Header = "Person Pay";
                colP.DataIndex = fieldPName;
                colP.Sortable = false;
                colP.Resizable = false;
                colP.MenuDisabled = true;
                colP.Width = 110;
                colP.Editor.Add(txtP);
                this.GridPanel2.ColumnModel.Columns.Add(colP);

                var txtC = new Ext.Net.NumberField();
                //txtC.Listeners.Blur.Fn = "Cal";
                var colC = new Column();
                colC.Header = "Company Pay";
                colC.DataIndex = fieldCName;
                colC.Sortable = false;
                colC.Resizable = false;
                colC.MenuDisabled = true;
                colC.Width = 110;
                colC.Editor.Add(txtC);
                this.GridPanel2.ColumnModel.Columns.Add(colC);

                var Station = new Ext.Net.TextField();
                if (header0string.Split(',')[i] != "NA")
                {
                    Station.Text = header0string.Split(',')[i];
                }
                HeaderColumn hcStation = new HeaderColumn();
                hcStation.Component.Add(Station);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation);


                var Button = new Ext.Net.Button();
                Button.Text = "Remove";
                Button.Listeners.Click.Handler = "removecol(this," + i.ToString() + ");";
                Button.Listeners.Click.Delay = 50;
                HeaderColumn hcButton = new HeaderColumn();
                hcButton.Component.Add(Button);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton);

                var CostCenter = new Ext.Net.TextField();
                CostCenter.Disabled = true;
                CostCenter.EmptyText = "Station Code";
                if (header1string.Split(',')[i] != "NA")
                {
                    CostCenter.Text = header1string.Split(',')[i];
                }
                HeaderColumn hcCostCenter = new HeaderColumn();
                hcCostCenter.Component.Add(CostCenter);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter);

                var ButtonGetSum = new Ext.Net.Button();
                ButtonGetSum.Text = "Calculate";
                ButtonGetSum.Listeners.Click.Handler = "GetSum();";
                ButtonGetSum.Listeners.Click.Delay = 50;
                HeaderColumn hcButtonGetSum = new HeaderColumn();
                hcButtonGetSum.Component.Add(ButtonGetSum);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum);

                var datefrom = new DateField();
                if (header2string.Split(',')[i * 2] != "NA")
                {
                    datefrom.SetValue(header2string.Split(',')[i * 2]);
                }
                datefrom.EmptyText = "yyyy/MM/dd";
                datefrom.Format = "yyyy/MM/dd";
                HeaderColumn Date1 = new HeaderColumn();
                Date1.Component.Add(datefrom);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1);

                var dateto = new DateField();
                if (header2string.Split(',')[i * 2 + 1] != "NA")
                {
                    dateto.SetValue(header2string.Split(',')[i * 2 + 1]);
                }
                dateto.EmptyText = "yyyy/MM/dd";
                dateto.Format = "yyyy/MM/dd";
                HeaderColumn Date2 = new HeaderColumn();
                Date2.Component.Add(dateto);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2);
            }



            var txtPNew = new Ext.Net.NumberField();
            //txtPNew.Listeners.Blur.Fn = "Cal";
            var colPNew = new Column();
            colPNew.Header = "Person Pay";
            colPNew.DataIndex = fieldPNameNew;
            colPNew.Sortable = false;
            colPNew.Resizable = false;
            colPNew.MenuDisabled = true;
            colPNew.Width = 110;
            colPNew.Editor.Add(txtPNew);
            this.GridPanel2.ColumnModel.Columns.Add(colPNew);

            var txtCNew = new Ext.Net.NumberField();
            //txtCNew.Listeners.Blur.Fn = "Cal";
            var colCNew = new Column();
            colCNew.Header = "Company Pay";
            colCNew.DataIndex = fieldCNameNew;
            colCNew.Sortable = false;
            colCNew.Resizable = false;
            colCNew.MenuDisabled = true;
            colCNew.Width = 110;
            colCNew.Editor.Add(txtCNew);
            this.GridPanel2.ColumnModel.Columns.Add(colCNew);

            var TotalP = new Ext.Net.TextField();
            TotalP.ReadOnly = true;
            TotalP.Cls = "custom-row";
            var colTotalP = new Column();
            colTotalP.DataIndex = "TotalP";
            colTotalP.Sortable = false;
            colTotalP.Resizable = false;
            colTotalP.MenuDisabled = true;
            colTotalP.Width = 110;
            colTotalP.Locked = true;
            colTotalP.Editor.Add(TotalP);
            this.GridPanel2.ColumnModel.Columns.Add(colTotalP);

            var TotalC = new Ext.Net.TextField();
            TotalC.ReadOnly = true;
            TotalC.Cls = "custom-row";
            var colTotalC = new Column();
            colTotalC.DataIndex = "TotalC";
            colTotalC.Sortable = false;
            colTotalC.Resizable = false;
            colTotalC.MenuDisabled = true;
            colTotalC.Width = 110;
            colTotalC.Locked = true;
            colTotalC.Editor.Add(TotalC);
            this.GridPanel2.ColumnModel.Columns.Add(colTotalC);

            var StationNew = new Ext.Net.TextField();
            StationNew.Text = DSTN;
            HeaderColumn hcStationNew = new HeaderColumn();
            hcStationNew.Component.Add(StationNew);
            this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStationNew);


            var ButtonNew = new Ext.Net.Button();
            ButtonNew.Text = "Remove";
            ButtonNew.Listeners.Click.Handler = "removecol(this," + colc.ToString() + ");";
            ButtonNew.Listeners.Click.Delay = 50;
            HeaderColumn hcButtonNew = new HeaderColumn();
            hcButtonNew.Component.Add(ButtonNew);
            this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButtonNew);

            HeaderColumn hcTotal1 = new HeaderColumn();
            this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal1);

            HeaderColumn hcTotal2 = new HeaderColumn();
            this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal2);

            var CostCenterNew = new Ext.Net.TextField();
            CostCenterNew.Disabled = true;
            CostCenterNew.EmptyText = "Station Code";
            HeaderColumn hcCostCenterNew = new HeaderColumn();
            hcCostCenterNew.Component.Add(CostCenterNew);
            this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenterNew);


            //HeaderColumn hcCostCenter1New = new HeaderColumn();
            //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter1New);
            var ButtonGetSumNew = new Ext.Net.Button();
            ButtonGetSumNew.Text = "Calculate";
            ButtonGetSumNew.Listeners.Click.Handler = "GetSum();";
            ButtonGetSumNew.Listeners.Click.Delay = 50;
            HeaderColumn hcButtonGetSumNew = new HeaderColumn();
            hcButtonGetSumNew.Component.Add(ButtonGetSumNew);
            this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSumNew);

            HeaderColumn hcTotal3 = new HeaderColumn();
            this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal3);

            HeaderColumn hcTotal4 = new HeaderColumn();
            this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal4);

            var dateFromNew = new DateField();
            dateFromNew.EmptyText = "yyyy/MM/dd";
            dateFromNew.Format = "yyyy/MM/dd";
            dateFromNew.SetValue(LeaveDate1);
            HeaderColumn Date1New = new HeaderColumn();
            Date1New.Component.Add(dateFromNew);
            this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1New);

            var datetoNew = new DateField();
            datetoNew.EmptyText = "yyyy/MM/dd";
            datetoNew.Format = "yyyy/MM/dd";
            datetoNew.SetValue(LeaveDate2);
            HeaderColumn Date2New = new HeaderColumn();
            Date2New.Component.Add(datetoNew);
            this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2New);

            var TitleTotalP = new Ext.Net.Label();
            TitleTotalP.Text = "Total(Person)";
            TitleTotalP.Cls = "custom-row";
            HeaderColumn hcTitleTotalP = new HeaderColumn();
            hcTitleTotalP.Component.Add(TitleTotalP);
            this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalP);

            var TitleTotalC = new Ext.Net.Label();
            TitleTotalC.Text = "Total(Comp)";
            TitleTotalC.Cls = "custom-row";
            HeaderColumn hcTitleTotalC = new HeaderColumn();
            hcTitleTotalC.Component.Add(TitleTotalC);
            this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalC);

            //HeaderColumn hcTotal5 = new HeaderColumn();
            //this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTotal5);

            //HeaderColumn hcTotal6 = new HeaderColumn();
            //this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTotal6);
            this.GridPanel2.Render();
            //Store store2 = this.GridPanel2.GetStore();



            //this.GridPanel2.RefreshView();
            GridPanel2.Reconfigure();
            //string last = (dtcol - 1).ToString();
            //string sf = "$(\"#\"+$('#GridPanel2 .x-grid3-col-" + last + " input')[0].id).css('font-weight','bold')";
            //X.AddScript(sf);
        }
Ejemplo n.º 4
0
        protected void LoadData(DataTable dt, bool CheckCopy)
        {
            string ID = dt.Rows[0]["RequestID"].ToString();
            cs.DBCommand dbc = new cs.DBCommand();
            //cbxOwner.SelectedItem.Value = dt.Rows[0]["PersonID"].ToString();
            
            if (CheckCopy)//根据Copy判断是否需要判断Copy状态
            {
                if (Request.QueryString["Copy"] != null)
                {
                    if (Request.QueryString["Copy"].ToString() == "T")//Copy而已,作为新增
                    {
                        hdTravelRequestID.Value = "";
                        hdTravelRequestNo.Value = "";
                        if (Request.QueryString["CopyType"] != null)
                        {
                            if (Request.QueryString["CopyType"].ToString() == "A")
                            {
                                if (dt.Rows[0]["ReportFile"].ToString() != "")
                                {
                                    linkTravelReport.Text = dt.Rows[0]["ReportFile"].ToString();
                                    linkTravelReport.NavigateUrl = "./Upload/" + dt.Rows[0]["ReportFile"].ToString();
                                    hdReport.Value = dt.Rows[0]["ReportFile"].ToString();
                                }
                                if (dt.Rows[0]["Attach"].ToString() != "")
                                {
                                    linkScanFile.Text = dt.Rows[0]["Attach"].ToString();
                                    linkScanFile.NavigateUrl = "./Upload/" + dt.Rows[0]["Attach"].ToString();
                                    hdScanFile.Value = dt.Rows[0]["Attach"].ToString();
                                }
                            }
                        }
                    }
                    else
                    {
                        ErrorHandle("Data Error.");
                    }
                }
                else
                {
                    labelOwner.Text = dt.Rows[0]["Person"].ToString();
                    hdOwner.Value = dt.Rows[0]["Person"].ToString();
                    hdOwnerID.Value = dt.Rows[0]["PersonID"].ToString();
                    labelStation.Text = dt.Rows[0]["Station"].ToString();
                    labelDepartment.Text = dt.Rows[0]["Department"].ToString();
                    //获取该人币种
                    DataSet ds1 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dt.Rows[0]["PersonID"].ToString());
                    if (ds1.Tables[0].Rows.Count == 1)
                    {
                        DataTable dt1 = ds1.Tables[0];
                        LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt1.Rows[0]["stationCode"].ToString());
                        hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt1.Rows[0]["stationCode"].ToString()), 3);
                        DataTable dttemp = new DataTable();
                        string sqltemp = "select * from ESUSER where Userid='" + dt.Rows[0]["PersonID"].ToString() + "'";
                        dttemp = dbc.GetData("eReimbursement", sqltemp);
                        if (dttemp.Rows.Count > 0)
                        {
                            LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dttemp.Rows[0]["Station"].ToString());
                            hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dttemp.Rows[0]["Station"].ToString()), 3);
                        }
                    }
                    else
                    {
                        ErrorHandle("Data Error."); return;
                    }

                    hdTravelRequestID.Value = ID;
                    hdTravelRequestNo.Value = dt.Rows[0]["No"].ToString();
                    if (dt.Rows[0]["ReportFile"].ToString() != "")
                    {
                        linkTravelReport.Text = dt.Rows[0]["ReportFile"].ToString();
                        linkTravelReport.NavigateUrl = "./Upload/" + dt.Rows[0]["ReportFile"].ToString();
                        hdReport.Value = dt.Rows[0]["ReportFile"].ToString();
                    }
                    if (dt.Rows[0]["Attach"].ToString() != "")
                    {
                        linkScanFile.Text = dt.Rows[0]["Attach"].ToString();
                        linkScanFile.NavigateUrl = "./Upload/" + dt.Rows[0]["Attach"].ToString();
                        hdScanFile.Value = dt.Rows[0]["Attach"].ToString();
                    }
                    X.AddScript("btnExport.enable();");
                }
            }
            else
            {
                labelOwner.Text = dt.Rows[0]["Person"].ToString();
                hdOwner.Value = dt.Rows[0]["Person"].ToString();
                hdOwnerID.Value = dt.Rows[0]["PersonID"].ToString();
                labelStation.Text = dt.Rows[0]["Station"].ToString();
                labelDepartment.Text = dt.Rows[0]["Department"].ToString();
                //获取该人币种
                DataSet ds1 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dt.Rows[0]["PersonID"].ToString());
                if (ds1.Tables[0].Rows.Count == 1)
                {
                    DataTable dt1 = ds1.Tables[0];
                    LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt1.Rows[0]["stationCode"].ToString());
                    hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt1.Rows[0]["stationCode"].ToString()), 3);
                    DataTable dttemp = new DataTable();
                    string sqltemp = "select * from ESUSER where Userid='" + dt.Rows[0]["PersonID"].ToString() + "'";
                    dttemp = dbc.GetData("eReimbursement", sqltemp);
                    if (dttemp.Rows.Count > 0)
                    {
                        LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dttemp.Rows[0]["Station"].ToString());
                        hdCurrency.Value = System.Math.Round(1 / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dttemp.Rows[0]["Station"].ToString()), 3);
                    }
                }
                else
                {
                    ErrorHandle("Data Error."); return;
                }

                hdTravelRequestID.Value = ID;
                hdTravelRequestNo.Value = dt.Rows[0]["No"].ToString();
                if (dt.Rows[0]["ReportFile"].ToString() != "")
                {
                    linkTravelReport.Text = dt.Rows[0]["ReportFile"].ToString();
                    linkTravelReport.NavigateUrl = "./Upload/" + dt.Rows[0]["ReportFile"].ToString();
                    hdReport.Value = dt.Rows[0]["ReportFile"].ToString();
                }
                if (dt.Rows[0]["Attach"].ToString() != "")
                {
                    linkScanFile.Text = dt.Rows[0]["Attach"].ToString();
                    linkScanFile.NavigateUrl = "./Upload/" + dt.Rows[0]["Attach"].ToString();
                    hdScanFile.Value = dt.Rows[0]["Attach"].ToString();
                }
            }
            Radio1.Checked = dt.Rows[0]["Budget"].ToString() == "1" ? true : false;
            Radio2.Checked = dt.Rows[0]["Budget"].ToString() != "1" ? true : false;
            //cbxBudget.SelectedItem.Value = dt.Rows[0]["Budget"].ToString() == "1" ? "YES" : "NO";

            
            ////获取该人币种
            //DataSet ds1 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dt.Rows[0]["PersonID"].ToString());
            //if (ds1.Tables[0].Rows.Count == 1)
            //{
            //    DataTable dt1 = ds1.Tables[0];
            //    LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(dt1.Rows[0]["CostCenter"].ToString());

            //    DataTable dttemp = new DataTable();
            //    string sqltemp = "select * from ESUSER where Userid='" + dt.Rows[0]["PersonID"].ToString() + "'";
            //    dttemp = dbc.GetData("eReimbursement", sqltemp);
            //    if (dttemp.Rows.Count > 0)
            //    {
            //        LabelCurrency.Text = dttemp.Rows[0]["Currency"].ToString();
            //    }
            //}
            //else
            //{
            //    ErrorHandle("Data Error."); return;
            //}
            //组合数据
            DataTable dtnew = new DataTable();
            Store2.Reader[0].Fields.Add("Category", RecordFieldType.String);
            dtnew.Columns.Add("Category", typeof(String));
            dtnew.Columns.Add("TotalP", typeof(String));
            dtnew.Columns.Add("TotalC", typeof(String));
            //默认12行
            for (int i = 0; i < 12; i++)
            {
                DataRow dr = dtnew.NewRow();
                dtnew.Rows.Add(dr);
            }
            //默认第一列是标题
            dtnew.Rows[0][0] = "1. Air Ticket - Int'l";
            dtnew.Rows[1][0] = "Air Ticket - Domestic";
            dtnew.Rows[2][0] = "2. Hotel Bill";
            dtnew.Rows[3][0] = "3. Meals";
            dtnew.Rows[4][0] = "4. Entertainment";
            dtnew.Rows[5][0] = "5. Car Rental/Transportation";
            dtnew.Rows[6][0] = "6. Communication";
            dtnew.Rows[7][0] = "7. Local Trip Allowance";
            dtnew.Rows[8][0] = "8. Overseas Trip Allowance";
            dtnew.Rows[9][0] = "9. Airport Tax/Travel Insurance";
            dtnew.Rows[10][0] = "10. Others";
            dtnew.Rows[11][0] = "Total";

            string sqlf = "select distinct Tocity from ETraveleDetail where [No]='" + ID + "'";
            DataTable dtf = dbc.GetData("eReimbursement", sqlf);
            string sqld = "select * from ETraveleDetail where [No]='" + ID + "' order by id";
            DataTable dtall = new DataTable();
            dtall = dbc.GetData("eReimbursement", sqld);
            //140226 显示预算
            DataTable dtbudget = new DataTable();
            dtbudget.Columns.Add("COACode", typeof(System.String));
            dtbudget.Columns.Add("COACode", typeof(System.String));

            //
            if (dtf.Rows.Count == 1)
            {
                
                for (int i = 0; i < dtall.Rows.Count; i++)
                {
                    if (i % 11 == 0)
                    {
                        string colname = "Station_" + (i / 11).ToString() + "_P";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                        colname = "Station_" + (i / 11).ToString() + "_C";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                    }
                    dtnew.Rows[i % 11][3 + i / 11 * 2] = dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[i % 11][3 + i / 11 * 2 + 1] = dtall.Rows[i]["Camount"].ToString();
                    //列合计
                    string df = dtnew.Rows[11][3 + i / 11 * 2].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2].ToString();
                    string cf = dtall.Rows[i]["Pamount"].ToString() == "" ? "0" : dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2] = Convert.ToDecimal(df) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df) + Convert.ToDecimal(cf)).ToString();

                    string bf = dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString();
                    string af = dtall.Rows[i]["Camount"].ToString() == "" ? "0" : dtall.Rows[i]["Camount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2 + 1] = Convert.ToDecimal(bf) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf) + Convert.ToDecimal(af)).ToString();
                    //行合计
                    string df1 = dtnew.Rows[i % 11][1].ToString() == "" ? "0" : dtnew.Rows[i % 11][1].ToString();
                    dtnew.Rows[i % 11][1] = Convert.ToDecimal(df1) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df1) + Convert.ToDecimal(cf)).ToString();
                    string bf1 = dtnew.Rows[i % 11][2].ToString() == "" ? "0" : dtnew.Rows[i % 11][2].ToString();
                    dtnew.Rows[i % 11][2] = Convert.ToDecimal(bf1) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf1) + Convert.ToDecimal(af)).ToString();
                    //总合计
                    string tf = dtnew.Rows[11][1].ToString() == "" ? "0" : dtnew.Rows[11][1].ToString();
                    dtnew.Rows[11][1] = Convert.ToDecimal(tf) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(tf) + Convert.ToDecimal(cf)).ToString();
                    string ff = dtnew.Rows[11][2].ToString() == "" ? "0" : dtnew.Rows[11][2].ToString();
                    dtnew.Rows[11][2] = Convert.ToDecimal(ff) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(ff) + Convert.ToDecimal(af)).ToString();
                }
                dtnew.Columns.Add("Station_1_P", typeof(String));
                dtnew.Columns.Add("Station_1_C", typeof(String));
                Store2.Reader[0].Fields.Add("Station_1_P", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("Station_1_C", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("TotalP", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("TotalC", RecordFieldType.String);

                Store2.DataSource = dtnew;
                Store2.DataBind();

                var TitleCol = new Column();
                TitleCol.DataIndex = "Category";
                TitleCol.Sortable = false;
                TitleCol.Resizable = false;
                TitleCol.MenuDisabled = true;
                TitleCol.Width = 180;
                this.GridPanel2.ColumnModel.Columns.Add(TitleCol);

                var Title1 = new Ext.Net.Label();
                Title1.Text = "Location:";
                HeaderColumn hcTitle1 = new HeaderColumn();
                hcTitle1.Component.Add(Title1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTitle1);

                var Title2 = new Ext.Net.Label();
                Title2.Text = "Cost Center:";
                HeaderColumn hcTitle2 = new HeaderColumn();
                hcTitle2.Component.Add(Title2);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTitle2);

                var Title3 = new Ext.Net.Label();
                Title3.Text = "Travel Period:";
                HeaderColumn hcTitle3 = new HeaderColumn();
                hcTitle3.Component.Add(Title3);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitle3);

                int colc = dtall.Rows.Count / 11;
                for (int i = 0; i < colc; i++)//准备复制已有信息
                {
                    string fieldPName = "Station_" + i.ToString() + "_P";
                    string fieldCName = "Station_" + i.ToString() + "_C";

                    var txtP = new Ext.Net.NumberField();
                    //txtP.Listeners.Blur.Fn = "Cal";
                    var colP = new Column();
                    colP.Header = "Person Pay";
                    colP.DataIndex = fieldPName;
                    colP.Sortable = false;
                    colP.Resizable = false;
                    colP.MenuDisabled = true;
                    colP.Width = 110;
                    colP.Editor.Add(txtP);
                    this.GridPanel2.ColumnModel.Columns.Add(colP);

                    var txtC = new Ext.Net.NumberField();
                    //txtC.Listeners.Blur.Fn = "Cal";
                    var colC = new Column();
                    colC.Header = "Company Pay";
                    colC.DataIndex = fieldCName;
                    colC.Sortable = false;
                    colC.Resizable = false;
                    colC.MenuDisabled = true;
                    colC.Width = 110;
                    colC.Editor.Add(txtC);
                    this.GridPanel2.ColumnModel.Columns.Add(colC);

                    var Station = new Ext.Net.TextField();
                    Station.Text = dtall.Rows[i * 11]["Tocity"].ToString();
                    HeaderColumn hcStation = new HeaderColumn();
                    hcStation.Component.Add(Station);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation);

                    var Button = new Ext.Net.Button();
                    Button.Text = "Remove";
                    Button.Listeners.Click.Handler = "removecol(this," + i.ToString() + ");";
                    Button.Listeners.Click.Delay = 50;
                    HeaderColumn hcButton = new HeaderColumn();
                    hcButton.Component.Add(Button);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton);

                    var CostCenter = new Ext.Net.TextField();
                    CostCenter.EmptyText = "Station Code";
                    CostCenter.Text = dtall.Rows[i * 11]["TSation"].ToString();
                    HeaderColumn hcCostCenter = new HeaderColumn();
                    hcCostCenter.Component.Add(CostCenter);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter);

                    //HeaderColumn hcCostCenter1 = new HeaderColumn();
                    //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter1);
                    var ButtonGetSum = new Ext.Net.Button();
                    ButtonGetSum.Text = "Calculate";
                    ButtonGetSum.Listeners.Click.Handler = "GetSum();";
                    ButtonGetSum.Listeners.Click.Delay = 50;
                    HeaderColumn hcButtonGetSum = new HeaderColumn();
                    hcButtonGetSum.Component.Add(ButtonGetSum);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum);

                    var datefrom = new DateField();
                    string dtfroms = dtall.Rows[i * 11]["Tdate0"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate0"].ToString()).ToString("yyyy/MM/dd");
                    datefrom.SetValue(dtfroms);
                    datefrom.EmptyText = "yyyy/MM/dd";
                    datefrom.Format = "yyyy/MM/dd";
                    HeaderColumn Date1 = new HeaderColumn();
                    Date1.Component.Add(datefrom);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1);

                    var dateto = new DateField();
                    string datetos = dtall.Rows[i * 11]["Tdate"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate"].ToString()).ToString("yyyy/MM/dd");
                    dateto.SetValue(datetos);
                    dateto.EmptyText = "yyyy/MM/dd";
                    dateto.Format = "yyyy/MM/dd";
                    HeaderColumn Date2 = new HeaderColumn();
                    Date2.Component.Add(dateto);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2);
                }

                var txtP1 = new Ext.Net.NumberField();
                //txtP1.Listeners.Blur.Fn = "Cal";
                //txtP1.Listeners.Blur.Delay = 50;
                var colP1 = new Column();
                colP1.Header = "Person Pay";
                colP1.DataIndex = "Station_1_P";
                colP1.Sortable = false;
                colP1.Resizable = false;
                colP1.MenuDisabled = true;
                colP1.Width = 110;
                colP1.Locked = true;
                colP1.Editor.Add(txtP1);
                colP1.Hidden = true;
                this.GridPanel2.ColumnModel.Columns.Add(colP1);

                var txtC1 = new Ext.Net.NumberField();
                //txtC1.Listeners.Blur.Fn = "Cal";
                //txtC1.Listeners.Blur.Delay = 50;
                var colC1 = new Column();
                colC1.Header = "Company Pay";
                colC1.DataIndex = "Station_1_C";
                colC1.Sortable = false;
                colC1.Resizable = false;
                colC1.MenuDisabled = true;
                colC1.Width = 110;
                colC1.Locked = true;
                colC1.Editor.Add(txtC1);
                colC1.Hidden = true;
                this.GridPanel2.ColumnModel.Columns.Add(colC1);

                var TotalP = new Ext.Net.TextField();
                TotalP.ReadOnly = true;
                TotalP.Cls = "custom-row";
                var colTotalP = new Column();
                colTotalP.DataIndex = "TotalP";
                colTotalP.Sortable = false;
                colTotalP.Resizable = false;
                colTotalP.MenuDisabled = true;
                colTotalP.Width = 110;
                colTotalP.Locked = true;
                colTotalP.Editor.Add(TotalP);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalP);

                var TotalC = new Ext.Net.TextField();
                TotalC.ReadOnly = true;
                TotalC.Cls = "custom-row";
                var colTotalC = new Column();
                colTotalC.DataIndex = "TotalC";
                colTotalC.Sortable = false;
                colTotalC.Resizable = false;
                colTotalC.MenuDisabled = true;
                colTotalC.Width = 110;
                colTotalC.Locked = true;
                colTotalC.Editor.Add(TotalC);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalC);

                var Station1 = new Ext.Net.TextField();
                HeaderColumn hcStation1 = new HeaderColumn();
                hcStation1.Component.Add(Station1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation1);

                var CostCenter0 = new Ext.Net.TextField();
                CostCenter0.EmptyText = "Station Code";
                HeaderColumn hcCostCenter0 = new HeaderColumn();
                hcCostCenter0.Component.Add(CostCenter0);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter0);

                HeaderColumn hcDate3 = new HeaderColumn();
                var Date3 = new DateField();
                Date3.EmptyText = "yyyy/MM/dd";
                Date3.Format = "yyyy/MM/dd";
                //Date3.SetValue("2013/11/1");
                hcDate3.Component.Add(Date3);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcDate3);


                var Button1 = new Ext.Net.Button();
                Button1.Text = "Remove";
                Button1.Listeners.Click.Handler = "removecol(this,1);";
                Button1.Listeners.Click.Delay = 50;
                HeaderColumn hcButton1 = new HeaderColumn();
                hcButton1.Component.Add(Button1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton1);

                var ButtonGetSum1 = new Ext.Net.Button();
                ButtonGetSum1.Text = "Calculate";
                ButtonGetSum1.Listeners.Click.Handler = "GetSum();";
                ButtonGetSum1.Listeners.Click.Delay = 50;
                HeaderColumn hcButtonGetSum1 = new HeaderColumn();
                hcButtonGetSum1.Component.Add(ButtonGetSum1);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum1);

                HeaderColumn hcDate4 = new HeaderColumn();
                var Date4 = new DateField();
                Date4.EmptyText = "yyyy/MM/dd";
                Date4.Format = "yyyy/MM/dd";
                //Date4.SetValue("2013/11/2");
                hcDate4.Component.Add(Date4);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcDate4);

                HeaderColumn hcTotal1 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal1);

                HeaderColumn hcTotal3 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal3);

                var TitleTotalP = new Ext.Net.Label();
                TitleTotalP.Text = "Total(Person)";
                TitleTotalP.Cls = "custom-row";
                HeaderColumn hcTitleTotalP = new HeaderColumn();
                hcTitleTotalP.Component.Add(TitleTotalP);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalP);

                HeaderColumn hcTotal2 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal2);

                HeaderColumn hcTotal4 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal4);

                var TitleTotalC = new Ext.Net.Label();
                TitleTotalC.Text = "Total(Comp)";
                TitleTotalC.Cls = "custom-row";
                HeaderColumn hcTitleTotalC = new HeaderColumn();
                hcTitleTotalC.Component.Add(TitleTotalC);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalC);

                X.AddScript("GridPanel2.colModel.setHidden(3, true);GridPanel2.colModel.setHidden(4, true);Store2.removeField('Station_1_P');Store2.removeField('Station_1_C');");
            }
            else
            {
                //string sqld = "select * from ETraveleDetail where [No]='" + ID + "' order by id";
                //DataTable dtall = new DataTable();
                //dtall = dbc.GetData("eReimbursement", sqld);
                for (int i = 0; i < dtall.Rows.Count; i++)
                {
                    if (i % 11 == 0)
                    {
                        string colname = "Station_" + (i / 11).ToString() + "_P";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                        colname = "Station_" + (i / 11).ToString() + "_C";
                        Store2.Reader[0].Fields.Add(colname, RecordFieldType.String);
                        dtnew.Columns.Add(colname, typeof(String));
                    }
                    dtnew.Rows[i % 11][3 + i / 11 * 2] = dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[i % 11][3 + i / 11 * 2 + 1] = dtall.Rows[i]["Camount"].ToString();
                    //列合计
                    string df = dtnew.Rows[11][3 + i / 11 * 2].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2].ToString();
                    string cf = dtall.Rows[i]["Pamount"].ToString() == "" ? "0" : dtall.Rows[i]["Pamount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2] = Convert.ToDecimal(df) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df) + Convert.ToDecimal(cf)).ToString();

                    string bf = dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString() == "" ? "0" : dtnew.Rows[11][3 + i / 11 * 2 + 1].ToString();
                    string af = dtall.Rows[i]["Camount"].ToString() == "" ? "0" : dtall.Rows[i]["Camount"].ToString();
                    dtnew.Rows[11][3 + i / 11 * 2 + 1] = Convert.ToDecimal(bf) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf) + Convert.ToDecimal(af)).ToString();
                    //行合计
                    string df1 = dtnew.Rows[i % 11][1].ToString() == "" ? "0" : dtnew.Rows[i % 11][1].ToString();
                    dtnew.Rows[i % 11][1] = Convert.ToDecimal(df1) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(df1) + Convert.ToDecimal(cf)).ToString();
                    string bf1 = dtnew.Rows[i % 11][2].ToString() == "" ? "0" : dtnew.Rows[i % 11][2].ToString();
                    dtnew.Rows[i % 11][2] = Convert.ToDecimal(bf1) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(bf1) + Convert.ToDecimal(af)).ToString();
                    //总合计
                    string tf = dtnew.Rows[11][1].ToString() == "" ? "0" : dtnew.Rows[11][1].ToString();
                    dtnew.Rows[11][1] = Convert.ToDecimal(tf) + Convert.ToDecimal(cf) == 0 ? "" : (Convert.ToDecimal(tf) + Convert.ToDecimal(cf)).ToString();
                    string ff = dtnew.Rows[11][2].ToString() == "" ? "0" : dtnew.Rows[11][2].ToString();
                    dtnew.Rows[11][2] = Convert.ToDecimal(ff) + Convert.ToDecimal(af) == 0 ? "" : (Convert.ToDecimal(ff) + Convert.ToDecimal(af)).ToString();
                }
                Store2.Reader[0].Fields.Add("TotalP", RecordFieldType.String);
                Store2.Reader[0].Fields.Add("TotalC", RecordFieldType.String);

                Store2.DataSource = dtnew;
                Store2.DataBind();

                var TitleCol = new Column();
                TitleCol.DataIndex = "Category";
                TitleCol.Sortable = false;
                TitleCol.Resizable = false;
                TitleCol.MenuDisabled = true;
                TitleCol.Width = 180;
                this.GridPanel2.ColumnModel.Columns.Add(TitleCol);

                var Title1 = new Ext.Net.Label();
                Title1.Text = "Location:";
                HeaderColumn hcTitle1 = new HeaderColumn();
                hcTitle1.Component.Add(Title1);
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTitle1);

                var Title2 = new Ext.Net.Label();
                Title2.Text = "Cost Center:";
                HeaderColumn hcTitle2 = new HeaderColumn();
                hcTitle2.Component.Add(Title2);
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTitle2);

                var Title3 = new Ext.Net.Label();
                Title3.Text = "Travel Period:";
                HeaderColumn hcTitle3 = new HeaderColumn();
                hcTitle3.Component.Add(Title3);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitle3);

                int colc = dtall.Rows.Count / 11;
                for (int i = 0; i < colc; i++)//准备复制已有信息
                {
                    string fieldPName = "Station_" + i.ToString() + "_P";
                    //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float);
                    //Store2.Reader[0].Fields.Add(fieldPName, RecordFieldType.Float);
                    //this.Store2.AddField(field1, columncount);
                    string fieldCName = "Station_" + i.ToString() + "_C";
                    //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float);
                    //Store2.Reader[0].Fields.Add(fieldCName, RecordFieldType.Float);

                    var txtP = new Ext.Net.NumberField();
                    //txtP.Listeners.Blur.Fn = "Cal";
                    var colP = new Column();
                    colP.Header = "Person Pay";
                    colP.DataIndex = fieldPName;
                    colP.Sortable = false;
                    colP.Resizable = false;
                    colP.MenuDisabled = true;
                    colP.Width = 110;
                    colP.Editor.Add(txtP);
                    this.GridPanel2.ColumnModel.Columns.Add(colP);

                    var txtC = new Ext.Net.NumberField();
                    //txtC.Listeners.Blur.Fn = "Cal";
                    var colC = new Column();
                    colC.Header = "Company Pay";
                    colC.DataIndex = fieldCName;
                    colC.Sortable = false;
                    colC.Resizable = false;
                    colC.MenuDisabled = true;
                    colC.Width = 110;
                    colC.Editor.Add(txtC);
                    this.GridPanel2.ColumnModel.Columns.Add(colC);

                    var Station = new Ext.Net.TextField();
                    Station.Text = dtall.Rows[i * 11]["Tocity"].ToString();
                    HeaderColumn hcStation = new HeaderColumn();
                    hcStation.Component.Add(Station);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation);

                    var Button = new Ext.Net.Button();
                    Button.Text = "Remove";
                    Button.Listeners.Click.Handler = "removecol(this," + i.ToString() + ");";
                    Button.Listeners.Click.Delay = 50;
                    HeaderColumn hcButton = new HeaderColumn();
                    hcButton.Component.Add(Button);
                    this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton);

                    var CostCenter = new Ext.Net.TextField();
                    CostCenter.EmptyText = "Station Code";
                    CostCenter.Text = dtall.Rows[i * 11]["TSation"].ToString();
                    HeaderColumn hcCostCenter = new HeaderColumn();
                    hcCostCenter.Component.Add(CostCenter);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter);

                    //HeaderColumn hcCostCenter1 = new HeaderColumn();
                    //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter1);
                    var ButtonGetSum = new Ext.Net.Button();
                    ButtonGetSum.Text = "Calculate";
                    ButtonGetSum.Listeners.Click.Handler = "GetSum();";
                    ButtonGetSum.Listeners.Click.Delay = 50;
                    HeaderColumn hcButtonGetSum = new HeaderColumn();
                    hcButtonGetSum.Component.Add(ButtonGetSum);
                    this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum);

                    var datefrom = new DateField();
                    string dtfroms = dtall.Rows[i * 11]["Tdate0"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate0"].ToString()).ToString("yyyy/MM/dd");
                    datefrom.SetValue(dtfroms);
                    datefrom.EmptyText = "yyyy/MM/dd";
                    datefrom.Format = "yyyy/MM/dd";
                    HeaderColumn Date1 = new HeaderColumn();
                    Date1.Component.Add(datefrom);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1);

                    var dateto = new DateField();
                    string datetos = dtall.Rows[i * 11]["Tdate"].ToString() == "" ? "" : Convert.ToDateTime(dtall.Rows[i * 11]["Tdate"].ToString()).ToString("yyyy/MM/dd");
                    dateto.SetValue(datetos);
                    dateto.EmptyText = "yyyy/MM/dd";
                    dateto.Format = "yyyy/MM/dd";
                    HeaderColumn Date2 = new HeaderColumn();
                    Date2.Component.Add(dateto);
                    this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2);
                }

                var TotalP = new Ext.Net.TextField();
                TotalP.ReadOnly = true;
                TotalP.Cls = "custom-row";
                var colTotalP = new Column();
                colTotalP.DataIndex = "TotalP";
                colTotalP.Sortable = false;
                colTotalP.Resizable = false;
                colTotalP.MenuDisabled = true;
                colTotalP.Width = 110;
                colTotalP.Locked = true;
                colTotalP.Editor.Add(TotalP);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalP);

                var TotalC = new Ext.Net.TextField();
                TotalC.ReadOnly = true;
                TotalC.Cls = "custom-row";
                var colTotalC = new Column();
                colTotalC.DataIndex = "TotalC";
                colTotalC.Sortable = false;
                colTotalC.Resizable = false;
                colTotalC.MenuDisabled = true;
                colTotalC.Width = 110;
                colTotalC.Locked = true;
                colTotalC.Editor.Add(TotalC);
                this.GridPanel2.ColumnModel.Columns.Add(colTotalC);

                HeaderColumn hcTotal1 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal1);

                HeaderColumn hcTotal2 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal2);

                HeaderColumn hcTotal3 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal3);

                HeaderColumn hcTotal4 = new HeaderColumn();
                this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal4);

                var TitleTotalP = new Ext.Net.Label();
                TitleTotalP.Text = "Total(Person)";
                TitleTotalP.Cls = "custom-row";
                HeaderColumn hcTitleTotalP = new HeaderColumn();
                hcTitleTotalP.Component.Add(TitleTotalP);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalP);

                var TitleTotalC = new Ext.Net.Label();
                TitleTotalC.Text = "Total(Comp)";
                TitleTotalC.Cls = "custom-row";
                HeaderColumn hcTitleTotalC = new HeaderColumn();
                hcTitleTotalC.Component.Add(TitleTotalC);
                this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalC);
            }
            string aa = "";
            //140226




            //根据语言设置
            //string sqlp = "";
            //if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn")
            //{
            //    sqlp += ",[COAName]=t2.ADes";
            //}
            //else
            //{
            //    sqlp += ",[COAName]=t2.SAccountName";
            //}

            //string detailsql = "select t1.* from ETraveleDetail t1 where t1.No='" + ID + "' order by DetailCode";
            //DataTable dtdetail = new DataTable();
            //dtdetail = dbc.GetData("eReimbursement", detailsql);
            //DataTable dtnew = new DataTable();
            //dtnew.Columns.Add("DetailID", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Tocity", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("AccountCode", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Cur", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Pamount", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Camount", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("TSation", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Tdate", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Tdate0", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Type", System.Type.GetType("System.String"));
            //dtnew.Columns.Add("Department1", System.Type.GetType("System.String"));
            //for (int i = 0; i < dtdetail.Rows.Count; i++)
            //{
            //    DataRow dr = dtnew.NewRow();
            //    dr["DetailID"] = dtdetail.Rows[i]["ID"].ToString();
            //    dr["Tocity"] = dtdetail.Rows[i]["Tocity"].ToString();
            //    dr["AccountCode"] = dtdetail.Rows[i]["AccountCode"].ToString();
            //    dr["Cur"] = dtdetail.Rows[i]["Cur"].ToString();
            //    dr["Pamount"] = dtdetail.Rows[i]["Pamount"].ToString();
            //    dr["Camount"] = dtdetail.Rows[i]["Camount"].ToString();
            //    dr["TSation"] = dtdetail.Rows[i]["TSation"].ToString();
            //    dr["Tdate"] = dtdetail.Rows[i]["Tdate"].ToString() == "" ? "" : Convert.ToDateTime(dtdetail.Rows[i]["Tdate"].ToString()).ToString("yyyy/MM/dd");
            //    dr["Tdate0"] = dtdetail.Rows[i]["Tdate0"].ToString() == "" ? "" : Convert.ToDateTime(dtdetail.Rows[i]["Tdate0"].ToString()).ToString("yyyy/MM/dd");
            //    dr["Type"] = hdStatus.Value.ToString();//传递给子页面以判断按钮状态 0:允许修改,允许上传;1:不允许修改,允许上传;2:全不允许
            //    dr["Department1"] = dtdetail.Rows[i]["Department1"].ToString();
            //    dtnew.Rows.Add(dr);
            //}
            //Store3.DataSource = dtnew;
            //Store3.DataBind();
            ////txtSum.Text = (psum + csum).ToString("#,##0.00"); hdSum.Value = (psum + csum).ToString();
            ////txtPersonalSum.Text = psum.ToString("#,##0.00"); hdPamountSum.Value = psum.ToString();
            ////txtCompanySum.Text = csum.ToString("#,##0.00"); hdCamountSum.Value = csum.ToString();
            //txtRemark.Text = dt.Rows[0]["Remark"].ToString();
            //if (dt.Rows[0]["CCMailList"].ToString() != "")
            //{
            //    ToolTipCC.Html = dt.Rows[0]["CCMailList"].ToString().Replace(",", "<br />");
            //    DataTable dtCCMailList = new DataTable();
            //    dtCCMailList.Columns.Add("Email", typeof(String));
            //    for (int i = 0; i < dt.Rows[0]["CCMailList"].ToString().Split(',').Length; i++)
            //    {
            //        DataRow dr = dtCCMailList.NewRow();
            //        dr["Email"] = dt.Rows[0]["CCMailList"].ToString().Split(',')[i];
            //        dtCCMailList.Rows.Add(dr);
            //    }
            //    StoreCCList.DataSource = dtCCMailList;
            //    StoreCCList.DataBind();
            //}
        }