protected override Control AddEditor(Control container) { CompositeField placeHolder = new CompositeField(); DateField tb = new DateField(); tb.ID = Name; if (Required) { tb.AllowBlank = false; tb.Cls = "required"; } placeHolder.Items.Add(tb); if (IncludeTime) { TimeField timeField = new TimeField(); timeField.ID = Name + "Time"; timeField.Width = 70; if (Required) { timeField.AllowBlank = false; timeField.Cls += " required"; } placeHolder.Items.Add(timeField); } container.Controls.Add(placeHolder); container.Controls.Add(new LiteralControl("<br />")); return placeHolder; }
/// <summary> /// /// </summary> public DateField.Builder DateField(DateField component) { #if MVC component.ViewContext = this.HtmlHelper != null ? this.HtmlHelper.ViewContext : null; #endif return(new DateField.Builder(component)); }
public override string XGetDesignTimeHtml() { StringWriter writer = new StringWriter(CultureInfo.CurrentCulture); HtmlTextWriter htmlWriter = new HtmlTextWriter(writer); DateField c = (DateField)this.Control; string width = (c.Width != Unit.Empty) ? " width: {0};".FormatWith(c.Width.ToString()) : ""; string height = (c.Height != Unit.Empty) ? " height: {0};".FormatWith(c.Height.ToString()) : ""; object[] args = new object[9]; args[0] = c.ClientID; if (c.SelectedDate != DateTime.MinValue && c.SelectedDate != DateTime.MaxValue) { args[1] = c.SelectedDate.ToString(c.Format); } else { args[1] = ""; } args[2] = width; args[3] = height; args[4] = c.StyleSpec; args[5] = "x-form-text x-form-field " + ((c.IsEmpty) ? "x-form-empty-field " : "") + c.Cls; args[6] = "x-form-trigger x-form-date-trigger " + c.TriggerClass; ResourceManager sm = c.ResourceManager; if (sm != null) { args[7] = c.ResourceManager.BLANK_IMAGE_URL; } else { args[7] = ""; } args[8] = " width: {0};".FormatWith((c.Width != Unit.Empty) ? (c.Width.Value + 20) + "px" : "144px"); LiteralControl ctrl = new LiteralControl(string.Format(this.Html, args)); ctrl.RenderControl(htmlWriter); return(writer.ToString()); }
/// <summary> /// Load column vào GridPanel /// </summary> private void AddColumn() { if (columnList == null) { columnList = GridController.GetInstance().GetColumnInfo(this.ID, TableName, 1); } datatable = DataController.DataHandler.GetInstance().ExecuteDataTable("select top 1 * from " + TableName); if (columnList.FirstOrDefault() == null) { foreach (DataColumn item in datatable.Columns) { Column column = new Column(); column.DataIndex = item.ColumnName; column.Header = item.ColumnName; GridPanel1.ColumnModel.Columns.Add(column); if (item.DataType.ToString().Equals("System.DateTime")) { column.Renderer.Fn = "GetDateFormat"; } if (column.Editor.Count == 0) { switch (GetColumnDataType(datatable, item.ColumnName)) { case "System.Decimal": case "System.Int32": Ext.Net.SpinnerField spin = new SpinnerField(); spin.ID = item.ColumnName + "spin"; column.Editor.Add(spin); break; case "System.DateTime": Ext.Net.DateField df = new Ext.Net.DateField(); df.ID = item.ColumnName + "datefield"; column.Editor.Add(df); break; case "System.String": Ext.Net.TextField text = new Ext.Net.TextField(); text.ID = item.ColumnName + "string"; column.Editor.Add(text); break; case "System.Boolean": Ext.Net.Checkbox chk = new Checkbox(); chk.ID = item.ColumnName + "chk"; column.Editor.Add(chk); break; } } } } else { string listener = ""; bool hasComboBox = false; foreach (GridPanelColumnInfo columnInfo in columnList) { Column column = new Column(); column.DataIndex = columnInfo.ColumnName; column.Header = columnInfo.ColumnHeader; if (columnInfo.Width.HasValue && columnInfo.Width != 0) { column.Width = columnInfo.Width.Value; } GridPanel1.ColumnModel.Columns.Add(column); if (string.IsNullOrEmpty(columnInfo.RenderJS) == false) { column.Renderer.Fn = columnInfo.RenderJS; } if (columnInfo.AllowComboBoxOnGrid && string.IsNullOrEmpty(columnInfo.TableName) == false) { hasComboBox = true; Ext.Net.ComboBox cbBox = new ComboBox(); cbBox.LoadingText = "Đang tải..."; cbBox.ID = "combo" + columnInfo.ColumnName; cbBox.DisplayField = "displayField"; cbBox.ValueField = "valueField"; cbBox.EnableViewState = false; column.Editor.Add(cbBox); Store store = CreateStore(cbBox.ID); cbBox.Store.Add(store); storeList.Add(new StoreDaTa(store, columnInfo.ComboBoxTable, columnInfo.DisplayFieldComboBox, columnInfo.ValueFieldComboBox, columnInfo.WhereFilterComboBox, columnInfo.ColumnName, columnInfo.MasterColumnComboID.Value, columnInfo.ID)); if (columnInfo.MasterColumnComboID.HasValue && columnInfo.MasterColumnComboID.Value != 0) { GridPanelColumnInfo col = columnList.Where(p => p.ID == columnInfo.MasterColumnComboID.Value).FirstOrDefault(); if (col != null) { listener += string.Format("case \"{0}\": this.getColumnModel().getCellEditor(e.column, e.row).field.allQuery = e.record.get('{1}');break;", columnInfo.ColumnName, col.ColumnName); } } } if (column.Editor.Count == 0) { switch (columnInfo.DataType) { case "System.Decimal": case "System.Int32": Ext.Net.SpinnerField spin = new SpinnerField(); spin.ID = columnInfo.ColumnName + "spin"; column.Editor.Add(spin); break; case "System.DateTime": Ext.Net.DateField df = new Ext.Net.DateField(); df.ID = columnInfo.ColumnName + "datefield"; column.Editor.Add(df); break; case "System.String": Ext.Net.TextField text = new Ext.Net.TextField(); text.ID = columnInfo.ColumnName + "string"; column.Editor.Add(text); break; case "System.Boolean": Ext.Net.Checkbox chk = new Checkbox(); chk.ID = columnInfo.ColumnName + "chk"; column.Editor.Add(chk); break; } } } if (!string.IsNullOrEmpty(listener)) { GridPanel1.Listeners.BeforeEdit.Handler = "switch (e.field) {" + listener + "}"; } if (hasComboBox) { GridPanel1.Listeners.AfterEdit.Handler = Store1.ClientID + ".commitChanges();"; GridPanel1.DirectEvents.AfterEdit.Event += new ComponentDirectEvent.DirectEventHandler(AfterEdit_Event); GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("id", "e.record.id", ParameterMode.Raw)); GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("field", "e.field", ParameterMode.Raw)); GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("record", "e.record.data", ParameterMode.Raw, true)); GridPanel1.DirectEvents.AfterEdit.ExtraParams.Add(new Ext.Net.Parameter("value", "e.value", ParameterMode.Raw)); } } }
private void InitComponent() { btnSearch = new Button { Icon = Icon.Find, Text = "Find", ToolTip = "Find" }; btnAddItem = new Button { Icon = Icon.ImageAdd, Text = "Thêm", ToolTip = "Thêm" }; btnEditItem = new Button { Icon = Icon.ImageEdit, Text = "Sửa", ToolTip = "Sửa" }; btnPrint = new Button { Icon = Icon.Printer, Text = "Print", ToolTip = "Print" }; int daysInMonth = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); DateTime FromDate = DateTime.Now.AddDays(-1 * daysInMonth); dfFromDate = new DateField { LabelWidth = 100, FieldLabel = "Document Date", Anchor = "100%", Format = "dd/MM/yyyy", SubmitFormat = "dd/MM/yyyy", SelectOnFocus = true, SelectedDate = FromDate, ID = "dfFromDate", EnableKeyEvents = true, Vtype = "daterange", CustomConfig = { new ConfigItem { Name = "endDateField", Value = "dfToDate", Mode = ParameterMode.Value } } }; dfToDate = new DateField { LabelWidth = 20, Anchor = "100%", Format = "dd/MM/yyyy", SubmitFormat = "dd/MM/yyyy", SelectOnFocus = true, SelectedDate = DateTime.Now, ID = "dfToDate", Vtype = "daterange", EnableKeyEvents = true, CustomConfig = { new ConfigItem { Name = "startDateField", Value = "dfFromDate", Mode = ParameterMode.Value } } }; strItems = new Store { ID = "strItems", Model = { new Model { IDProperty = "Key", Fields = { new ModelField { Name = "Key" }, new ModelField { Name = "No" }, new ModelField { Name = "Buy_from_Vendor_No" }, new ModelField { Name = "Buy_from_Vendor_Name" }, new ModelField { Name = "Status" }, new ModelField { Name = "Document_Date", Type = ModelFieldType.Date }, new ModelField { Name = "Posting_Date", Type = ModelFieldType.Date }, new ModelField { Name = "Order_Date", Type = ModelFieldType.Date }, new ModelField { Name = "Vendor_Authorization_No" }, new ModelField { Name = "Vista_Order_No" }, new ModelField { Name = "Location_Code" }, new ModelField { Name = "Assigned_User_ID" }, new ModelField { Name = "Job_Queue_Status" }, new ModelField { Name = "Amount", Type = ModelFieldType.Float }, new ModelField { Name = "Amount_Including_VAT", Type = ModelFieldType.Float }, } } } }; grdItems = new GridPanel { ID = "grdItems", BodyCls = "line-body-border", CtCls = "line-border", ColumnModel = { Columns = { new Column { DataIndex = "Key", Text = "Key", Width = 0 }, new Column { DataIndex = "No", Text = "No", Width = 120, }, new Column { DataIndex = "Buy_from_Vendor_No", Text = "Vendor No.", Width = 120 }, new Column { DataIndex = "Buy_from_Vendor_Name", Text = "Buy from Vendor Name", Width = 220,Flex = 1 }, new Column { DataIndex = "Location_Code", Text = "Location_Code", Width = 120 }, new Column { DataIndex = "Status", Text = "Status", Width = 120 }, new DateColumn { DataIndex = "Document_Date", Text = "Document Date", Width = 120,Format = "dd/MM/yyyy" }, new DateColumn { DataIndex = "Posting_Date", Text = "Posting Date", Width = 120,Format = "dd/MM/yyyy" }, //new DateColumn{ DataIndex = "Order_Date", Text = "Order Date", Width = 120, Format = "dd/MM/yyyy" }, } }, TopBar = { new Toolbar { Items = { dfFromDate, dfToDate, btnSearch,//btnAddItem, btnEditItem btnPrint } } }, Plugins = { new FilterHeader { } }, BottomBar = { new PagingToolbar { HideRefresh = true } }, SelectionModel = { new RowSelectionModel { Mode = SelectionMode.Single } } }; grdItems.Store.Add(strItems); pnlCenter = new Panel { Layout = "Fit", Region = Region.Center, Items = { grdItems } }; pnlLeft = new Panel { Width = 250, Title = "Menu", Collapsible = true, Collapsed = true, Region = Region.West, Layout = "VBoxLayout", Items = { new Ext.Net.HyperLink { Width = 250, Icon = Icon.Accept, Target = "_blank", NavigateUrl = "../../Login.aspx", Text = "Relogin" }, new Ext.Net.HyperLink { Width = 250, Icon = Icon.PackageGo, Target = "_blank", NavigateUrl = "../ReqWorksheet", Text = "Req. Worksheets" }, //new Ext.Net.HyperLink { // Width = 250, // Icon = Icon.Page, // Target = "_blank", // NavigateUrl = "../ReqWorksheet2", // Text = "Req. Worksheets 2" //} } }; this.ID = "pageMain"; this.Layout = "BorderLayout"; this.Items.AddRange(new ItemsCollection <Ext.Net.AbstractComponent> { pnlLeft, pnlCenter }); }
/// <summary> /// /// </summary> public DateField.Builder DateField(DateField component) { return(new DateField.Builder(component)); }
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(); //} }
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); }
protected void Page_Load(object sender, EventArgs e) { //string station = ""; string department = ""; //DataSet ds1 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList("A0182"); //if (ds1.Tables[0].Rows.Count == 1) //{ // DataTable dt1 = ds1.Tables[0]; // station = dt1.Rows[0]["stationCode"].ToString(); // department = dt1.Rows[0]["CRPDepartmentName"].ToString(); //} if (!X.IsAjaxRequest) { //判断登录状态 cs.DBCommand dbc = new cs.DBCommand(); if (Request.Cookies.Get("eReimUserID") == null) { X.AddScript("loginWindow.show();Panel1.disable();"); return; } else { hdUser.Value = Request.Cookies.Get("eReimUserID").Value; ScriptManager.RegisterStartupScript(this, GetType(), "", "$('div.gn_person ul.q-menubox li:eq(0) a').text('" + Request.Cookies.Get("eReimUserName").Value + "');", true); X.AddScript("loginWindow.hide();Panel1.enable();"); if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { ResourceManager1.Locale = "zh-CN"; } else { ResourceManager1.Locale = "en-US"; } } //hdStatus.Value = "0"; if (Request.QueryString["ID"] != null)//判断链接地址是否正确 { string ID = Request.QueryString["ID"].ToString(); System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^\d*$"); if (reg1.IsMatch(ID)) { string sql = "select * from V_Eflow_ETravel where RequestID='" + ID + "' and [Type]='T' and (Active=1 or Active=2)"; DataTable dt = new DataTable(); dt = dbc.GetData("eReimbursement", sql); if (dt != null && dt.Rows.Count == 1) { if (Request.Cookies.Get("eReimUserID").Value == dt.Rows[0]["PersonID"].ToString())//本人 { ////准备下拉菜单内容 //Ext.Net.ListItem li = new Ext.Net.ListItem(Request.Cookies.Get("eReimUserName").Value, Request.Cookies.Get("eReimUserID").Value); //cbxOwner.Items.Add(li); //string sqlitem = "select * from Eagent where [St]=1 and [PAgentID]='" + Request.Cookies.Get("eReimUserID").Value + "'"; //DataTable dtitem = dbc.GetData("eReimbursement", sqlitem); //int itemcount = 0; //for (int j = 0; j < dtitem.Rows.Count; j++) //{ // string sqlpara = sqlitem; // if (dtitem.Rows[j][5].ToString() != "") // { // sqlpara += " and getdate()>='" + dtitem.Rows[j][5].ToString() + "' "; // } // if (dtitem.Rows[j][6].ToString() != "") // { // sqlpara += " and getdate()<='" + dtitem.Rows[j][6].ToString() + "' "; // } // DataTable dtitem1 = dbc.GetData("eReimbursement", sqlpara); // for (int m = 0; m < dtitem1.Rows.Count; m++) // { // li = new Ext.Net.ListItem(dtitem.Rows[m][1].ToString(), dtitem.Rows[m][2].ToString()); // cbxOwner.Items.Add(li); // itemcount++; // } //} //更改按钮状态 if (dt.Rows[0]["Step"].ToString() != "0")//正式申请单 { if (Request.QueryString["Copy"] != null) { if (Request.QueryString["Copy"].ToString() == "T")//Copy,作为新增 { X.AddScript("btnSaveAndSend.enable();Radio1.enable();Radio2.enable();"); } else { ErrorHandle("Data Error."); } } else//已申请数据 { string app = ""; if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单: " + dt.Rows[0]["No"].ToString(); //读取当前状态,显示在下方文本框内 if (dt.Rows[0]["Status"].ToString() == "1") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 等待审批: " + dt.Rows[0]["Approver"].ToString(); } else if (dt.Rows[0]["Status"].ToString() == "2") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 完成审批: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } else if (dt.Rows[0]["Status"].ToString() == "3") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 拒绝审批: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } if (dt.Rows[0]["Active"].ToString() == "2")//已完成 { //hdStatus.Value = "2"; app += ". 完成."; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnUploadReport.disable();btnUploadScanFile.disable();Button1.disable();Button2.disable();btnCC.disable();"); } else//待审批 { //hdStatus.Value = "1"; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnCC.disable();"); } } else { Panel3.Title = "Travel Expense Form: " + dt.Rows[0]["No"].ToString(); //读取当前状态,显示在下方文本框内 if (dt.Rows[0]["Status"].ToString() == "1") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Waiting for approval By: " + dt.Rows[0]["Approver"].ToString(); } else if (dt.Rows[0]["Status"].ToString() == "2") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Approved by: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } else if (dt.Rows[0]["Status"].ToString() == "3") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Rejected by: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } if (dt.Rows[0]["Active"].ToString() == "2")//已完成 { //hdStatus.Value = "2"; app += ". Complete."; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnUploadReport.disable();btnUploadScanFile.disable();Button1.disable();Button2.disable();btnCC.disable();"); } else//待审批 { //hdStatus.Value = "1"; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnCC.disable();"); } } labelInfo.Text = app; } } else//草稿 { if (Request.QueryString["Copy"] != null) { if (Request.QueryString["Copy"].ToString() == "T")//Copy,作为新增 { X.AddScript("btnSaveAndSend.enable();Radio1.enable();Radio2.enable();"); } else { ErrorHandle("Data Error."); } } else { if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单草稿: " + dt.Rows[0]["No"].ToString(); } else { Panel3.Title = "Travel Expense Draft: " + dt.Rows[0]["No"].ToString(); } X.AddScript("btnSaveAndSend.enable();Radio1.enable();Radio2.enable();"); } } //载入通用数据 LoadData(dt, true); } else { //判断是否为代理人 bool isagent = false;//记录Session["UserID"]是否为代理人 string sqlagent = "select * from Eagent where [St]=1 and [OwnerID]='" + dt.Rows[0]["PersonID"].ToString() + "' and getdate()<=Edate and getdate()>=Bdate"; DataTable dtagent = dbc.GetData("eReimbursement", sqlagent); for (int g = 0; g < dtagent.Rows.Count; g++) { if (Request.Cookies.Get("eReimUserID").Value == dtagent.Rows[g]["PAgentID"].ToString()) { isagent = true; break; } } if (isagent)//代理人访问 { //Ext.Net.ListItem li = new Ext.Net.ListItem(dt.Rows[0]["Person"].ToString(), dt.Rows[0]["PersonID"].ToString()); //cbxOwner.Items.Add(li); //更改按钮状态 if (dt.Rows[0]["Step"].ToString() != "0")//正式申请单 { if (Request.QueryString["Copy"] != null) { if (Request.QueryString["Copy"].ToString() == "T")//Copy,作为新增 { X.AddScript("btnSaveAndSend.enable();Radio1.enable();Radio2.enable();"); } else { ErrorHandle("Data Error."); } } else { string app = ""; if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单: " + dt.Rows[0]["No"].ToString(); //读取当前状态,显示在下方文本框内 if (dt.Rows[0]["Status"].ToString() == "1") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 等待审批: " + dt.Rows[0]["Approver"].ToString(); } else if (dt.Rows[0]["Status"].ToString() == "2") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 完成审批: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } else if (dt.Rows[0]["Status"].ToString() == "3") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 拒绝审批: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } if (dt.Rows[0]["Active"].ToString() == "2")//已完成 { //hdStatus.Value = "2"; app += ". 完成."; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnUploadReport.disable();btnUploadScanFile.disable();Button1.disable();Button2.disable();btnCC.disable();"); } else//待审批 { //hdStatus.Value = "1"; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnCC.disable();"); } } else { Panel3.Title = "Travel Expense Form: " + dt.Rows[0]["No"].ToString(); //读取当前状态,显示在下方文本框内 if (dt.Rows[0]["Status"].ToString() == "1") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Waiting for approval By: " + dt.Rows[0]["Approver"].ToString(); } else if (dt.Rows[0]["Status"].ToString() == "2") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Approved by: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } else if (dt.Rows[0]["Status"].ToString() == "3") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Rejected by: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } if (dt.Rows[0]["Active"].ToString() == "2")//已完成 { //hdStatus.Value = "2"; app += ". Complete."; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnUploadReport.disable();btnUploadScanFile.disable();Button1.disable();Button2.disable();btnCC.disable();"); } else//待审批 { //hdStatus.Value = "1"; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnCC.disable();"); } } labelInfo.Text = app; } } else//草稿 { if (Request.QueryString["Copy"] != null) { if (Request.QueryString["Copy"].ToString() == "T")//Copy,作为新增 { X.AddScript("btnSaveAndSend.enable();Radio1.enable();Radio2.enable();"); } else { ErrorHandle("Data Error."); } } else { if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单草稿: " + dt.Rows[0]["No"].ToString(); } else { Panel3.Title = "Travel Expense Draft: " + dt.Rows[0]["No"].ToString(); } X.AddScript("btnSaveAndSend.enable();Radio1.enable();Radio2.enable();"); } } //载入通用数据 LoadData(dt, true); } else//判断是否有跨站权限 { bool hasright = false; string getright = "select * from StationRole where UserID='" + Request.Cookies.Get("eReimUserID").Value + "'"; DataTable dtright = dbc.GetData("eReimbursement", getright); for (int j = 0; j < dtright.Rows.Count; j++) { string[] dd = dtright.Rows[j]["Stations"].ToString().Split(','); for (int i = 0; i < dd.Length; i++) { if (dd[i] == dt.Rows[0]["Station"].ToString())//有权限 { hasright = true; break; } } } if (hasright) { //Ext.Net.ListItem li = new Ext.Net.ListItem(dt.Rows[0]["Person"].ToString(), dt.Rows[0]["PersonID"].ToString()); //cbxOwner.Items.Add(li); //更改按钮状态 if (dt.Rows[0]["Step"].ToString() != "0")//正式申请单 { string app = ""; if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单: " + dt.Rows[0]["No"].ToString(); //读取当前状态,显示在下方文本框内 if (dt.Rows[0]["Status"].ToString() == "1") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 等待审批: " + dt.Rows[0]["Approver"].ToString(); } else if (dt.Rows[0]["Status"].ToString() == "2") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 完成审批: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } else if (dt.Rows[0]["Status"].ToString() == "3") { app += "提单人: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", 拒绝审批: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } if (dt.Rows[0]["Active"].ToString() == "2")//已完成 { //hdStatus.Value = "2"; app += ". 完成."; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnUploadReport.disable();btnUploadScanFile.disable();Button1.disable();Button2.disable();btnCC.disable();"); } else//待审批 { //hdStatus.Value = "1"; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnCC.disable();"); } } else { Panel3.Title = "Travel Expense Form: " + dt.Rows[0]["No"].ToString(); //读取当前状态,显示在下方文本框内 if (dt.Rows[0]["Status"].ToString() == "1") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Waiting for approval By: " + dt.Rows[0]["Approver"].ToString(); } else if (dt.Rows[0]["Status"].ToString() == "2") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Approved by: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } else if (dt.Rows[0]["Status"].ToString() == "3") { app += "Applied by: " + dt.Rows[0]["CreadedBy"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["CreadedDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); app += ", Rejected by: " + dt.Rows[0]["Approver"].ToString() + " " + Convert.ToDateTime(dt.Rows[0]["ApproveDate"].ToString()).ToString("yyyy/MM/dd hh:mm"); } if (dt.Rows[0]["Active"].ToString() == "2")//已完成 { //hdStatus.Value = "2"; app += ". Complete."; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnUploadReport.disable();btnUploadScanFile.disable();Button1.disable();Button2.disable();btnCC.disable();"); } else//待审批 { //hdStatus.Value = "1"; X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnCC.disable();"); } } labelInfo.Text = app; } else//草稿 { if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单草稿: " + dt.Rows[0]["No"].ToString(); } else { Panel3.Title = "Travel Expense Draft: " + dt.Rows[0]["No"].ToString(); } //X.AddScript("btnSaveAndSend.enable();"); } //hdStatus.Value = "2";//不允许传递到子页面时修改或者上传 X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();Radio1.disable();Radio2.disable();btnSaveDraft.disable();btnCC.disable();"); //无需判断Copy //载入通用数据 LoadData(dt, false); } else { ErrorHandle("No right."); } } } } else { ErrorHandle("Data Error."); } } else { ErrorHandle("Data Error."); } } else//新增申请 { ////准备下拉菜单内容 //Ext.Net.ListItem li = new Ext.Net.ListItem(Request.Cookies.Get("eReimUserName").Value, Request.Cookies.Get("eReimUserID").Value); //cbxOwner.Items.Add(li); //string sqlitem = "select * from Eagent where [St]=1 and [PAgentID]='" + Request.Cookies.Get("eReimUserID").Value + "'"; //DataTable dtitem = dbc.GetData("eReimbursement", sqlitem); //for (int j = 0; j < dtitem.Rows.Count; j++) //{ // string sqlpara = sqlitem; // bool d1 = true; // bool d2 = false; // if (dtitem.Rows[j][5].ToString() != "") // { // //sqlpara += " and getdate()>='" + dtitem.Rows[j]["Bdate"].ToString() + "' "; // if (DateTime.Now >= Convert.ToDateTime(dtitem.Rows[j][5].ToString())) // { // d1 = true; // } // else // { // d1 = false; // } // } // if (dtitem.Rows[j][6].ToString() != "") // { // //sqlpara += " and getdate()<='" + dtitem.Rows[j]["Edate"].ToString() + "' "; // if (DateTime.Now <= Convert.ToDateTime(dtitem.Rows[j][6].ToString())) // { // d2 = true; // } // else // { // d2 = false; // } // } // if (d1 && d2) // { // li = new Ext.Net.ListItem(dtitem.Rows[j]["Owner"].ToString(), dtitem.Rows[j]["OwnerID"].ToString()); // cbxOwner.Items.Add(li); // } //} ////新增记录时,默认为登录用户 //cbxOwner.SelectedItem.Value = Request.Cookies.Get("eReimUserID").Value; //cbxOwner.SelectedItem.Text = Request.Cookies.Get("eReimUserName").Value; //hdOwner.Value = Request.Cookies.Get("eReimUserName").Value; //hdOwnerID.Value = Request.Cookies.Get("eReimUserID").Value; //labelOwner.Text = Request.Cookies.Get("eReimUserName").Value; //labelStation.Text = Request.Cookies.Get("eReimStation").Value; //labelDepartment.Text = Request.Cookies.Get("eReimDepartment").Value; //LabelCurrency.Text = DIMERCO.SDK.Utilities.LSDK.GetStationCurrencyByCode(Request.Cookies.Get("eReimCostCenter").Value); //LabelText.Text = "Please load eLeave Data."; ////检查是否已经为该申请人设置过审批人 //string sqlCheckFlow = ""; //sqlCheckFlow = "select * from GroupFlow where [Type]!=2 and GID=(select GID from GroupUsers where UserID='" + Request.Cookies.Get("eReimUserID").Value + "')"; //DataTable dtGroupFlowData = dbc.GetData("eReimbursement", sqlCheckFlow); //if (dtGroupFlowData.Rows.Count < 1) //{ // if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") // { // ErrorHandle("请先设置审批人."); // } // else // { // ErrorHandle("Not set Approve flow,please contact with Local MIS."); // } // return; //} X.AddScript("btnSaveAndSend.enable();Radio1.enable();Radio2.enable();"); DataTable dttest = new DataTable(); Store2.Reader[0].Fields.Add("Category", RecordFieldType.String); dttest.Columns.Add("Category", typeof(String)); string fieldPName = "Station_0_P"; Store2.Reader[0].Fields.Add(fieldPName, RecordFieldType.String); string fieldCName = "Station_0_C"; Store2.Reader[0].Fields.Add(fieldCName, RecordFieldType.String); dttest.Columns.Add("Station_0_P", typeof(String)); dttest.Columns.Add("Station_0_C", typeof(String)); // Store2.Reader[0].Fields.Add("Station_1_P", RecordFieldType.String); Store2.Reader[0].Fields.Add("Station_1_C", RecordFieldType.String); dttest.Columns.Add("Station_1_P", typeof(String)); dttest.Columns.Add("Station_1_C", typeof(String)); //合计列 Store2.Reader[0].Fields.Add("TotalP", RecordFieldType.String); Store2.Reader[0].Fields.Add("TotalC", RecordFieldType.String); dttest.Columns.Add("TotalP", typeof(String)); dttest.Columns.Add("TotalC", typeof(String)); DataRow dr = dttest.NewRow(); dr[0] = "1. Air Ticket - Int'l"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "Air Ticket - Domestic"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "2. Hotel Bill"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "3. Meals"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "4. Entertainment"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "5. Car Rental/Transportation"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "6. Communication"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "7. Local Trip Allowance"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "8. Overseas Trip Allowance"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "9. Airport Tax/Travel Insurance"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "10. Others"; dttest.Rows.Add(dr); dr = dttest.NewRow(); dr[0] = "Total"; dttest.Rows.Add(dr); Store2.DataSource = dttest; 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 txtP = new Ext.Net.NumberField(); //txtP.Listeners.Blur.Fn = "Cal"; //txtP.Listeners.Blur.Delay = 50; var colP = new Column(); colP.Header = "Person Pay"; colP.DataIndex = fieldPName; colP.Sortable = false; colP.Resizable = false; colP.MenuDisabled = true; colP.Width = 110; colP.Locked = true; colP.Editor.Add(txtP); this.GridPanel2.ColumnModel.Columns.Add(colP); var txtC = new Ext.Net.NumberField(); //txtC.Listeners.Blur.Fn = "Cal"; //txtC.Listeners.Blur.Delay = 50; var colC = new Column(); colC.Header = "Company Pay"; colC.DataIndex = fieldCName; colC.Sortable = false; colC.Resizable = false; colC.MenuDisabled = true; colC.Width = 110; colP.Locked = true; colC.Editor.Add(txtC); this.GridPanel2.ColumnModel.Columns.Add(colC); // 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; 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; 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 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 Station = new Ext.Net.TextField(); HeaderColumn hcStation = new HeaderColumn(); hcStation.Component.Add(Station); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation); //var Station = new Ext.Net.ComboBox(); //Station.DisplayField = "CityCode"; //Station.ValueField = "CityCode"; //Station.TypeAhead = true; //Station.ForceSelection = true; //Station.MinChars = 2; //Station.Mode = DataLoadMode.Local; //var storeStation = new Ext.Net.Store(); //storeStation.Reader.Add(new Ext.Net.JsonReader()); //DataSet GetCityInfo = DIMERCO.SDK.Utilities.LSDK.GetCityInfo("", 8000); //DataTable dtstation = GetCityInfo.Tables[0]; //storeStation.Reader[0].Fields.Add("CityCode", RecordFieldType.String); //Station.Store.Add(storeStation); //storeStation.DataSource = dtstation; //storeStation.DataBind(); //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,0);"; Button.Listeners.Click.Delay = 50; HeaderColumn hcButton = new HeaderColumn(); hcButton.Component.Add(Button); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton); // var Station1 = new Ext.Net.TextField(); HeaderColumn hcStation1 = new HeaderColumn(); hcStation1.Component.Add(Station1); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation1); //var Station1 = new Ext.Net.ComboBox(); //Station1.DisplayField = "CityCode"; //Station1.ValueField = "CityCode"; //Station1.TypeAhead = true; //Station1.MinChars = 2; //Station1.ForceSelection = true; //Station1.Mode = DataLoadMode.Local; //var storeStation1 = new Ext.Net.Store(); //storeStation1.Reader.Add(new Ext.Net.JsonReader()); //DataTable dtStation1 = new DataTable(); //dtStation1.Columns.Add("CityCode", typeof(String)); //for (int i = 0; i < 20; i++) //{ // DataRow dr2 = dtStation1.NewRow(); // if (i < 5) // { // dr2[0] = "CN" + i.ToString(); // } // else if (i >= 5 && i < 10) // { // dr2[0] = "GCR" + i.ToString(); // } // else // { // dr2[0] = "CRP" + i.ToString(); // } // dtStation1.Rows.Add(dr2); //} //storeStation1.Reader[0].Fields.Add("CityCode", RecordFieldType.String); //Station1.Store.Add(storeStation1); //storeStation1.DataSource = dtstation; //storeStation1.DataBind(); //HeaderColumn hcStation1 = new HeaderColumn(); //hcStation1.Component.Add(Station1); //this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation1); 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); // 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 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 CostCenter = new Ext.Net.TextField(); CostCenter.Disabled = true; CostCenter.EmptyText = "Station Code"; HeaderColumn hcCostCenter = new HeaderColumn(); hcCostCenter.Component.Add(CostCenter); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter); //var CostCenter = new Ext.Net.ComboBox(); //CostCenter.DisplayField = "StationCode"; //CostCenter.ValueField = "StationCode"; //CostCenter.TypeAhead = true; //CostCenter.ForceSelection = true; //CostCenter.MinChars = 2; //CostCenter.Mode = DataLoadMode.Local; //var storeCostCenter = new Ext.Net.Store(); //storeCostCenter.Reader.Add(new Ext.Net.JsonReader()); //DataSet GetCostCenterInfo = DIMERCO.SDK.Utilities.LSDK.getCostCenterBYStationCode("", 8000); //DataTable dtCostCenter = GetCostCenterInfo.Tables[0]; //storeCostCenter.Reader[0].Fields.Add("StationCode", RecordFieldType.String); //CostCenter.Store.Add(storeCostCenter); //storeCostCenter.DataSource = dtCostCenter; //storeCostCenter.DataBind(); //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 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); //var CostCenter1 = new Ext.Net.ComboBox(); //CostCenter1.DisplayField = "StationCode"; //CostCenter1.ValueField = "StationCode"; //CostCenter1.TypeAhead = true; //CostCenter1.ForceSelection = true; //CostCenter1.MinChars = 2; //CostCenter1.Mode = DataLoadMode.Local; //var storeCostCenter1 = new Ext.Net.Store(); //storeCostCenter1.Reader.Add(new Ext.Net.JsonReader()); //storeCostCenter1.Reader[0].Fields.Add("StationCode", RecordFieldType.String); //CostCenter1.Store.Add(storeCostCenter1); //storeCostCenter1.DataSource = dtCostCenter; //storeCostCenter1.DataBind(); //HeaderColumn hcCostCenter1 = new HeaderColumn(); //hcCostCenter1.Component.Add(CostCenter1); //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter1); //HeaderColumn hcCostCenter01 = new HeaderColumn(); //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter01); 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 hcTotal3 = new HeaderColumn(); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal3); HeaderColumn hcTotal4 = new HeaderColumn(); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal4); 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); HeaderColumn hcDate1 = new HeaderColumn(); var Date1 = new DateField(); Date1.EmptyText = "yyyy/MM/dd"; Date1.Format = "yyyy/MM/dd"; //Date1.SetValue("2013/11/1"); hcDate1.Component.Add(Date1); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcDate1); HeaderColumn hcDate2 = new HeaderColumn(); var Date2 = new DateField(); Date2.EmptyText = "yyyy/MM/dd"; Date2.Format = "yyyy/MM/dd"; //Date2.SetValue("2013/11/2"); hcDate2.Component.Add(Date2); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcDate2); // 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); 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 hcTotal5 = new HeaderColumn(); //this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTotal5); //HeaderColumn hcTotal6 = new HeaderColumn(); //this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTotal6); 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); X.AddScript("GridPanel2.colModel.setHidden(3, true);GridPanel2.colModel.setHidden(4, true);Store2.removeField('Station_1_P');Store2.removeField('Station_1_C');"); } //DataSet dsdep = DIMERCO.SDK.Utilities.LSDK.getCRPDepartment(); //DataTable dtdep = new DataTable(); //dtdep.Columns.Add(new DataColumn("Depart", typeof(String))); //for (int i = 0; i < dsdep.Tables[0].Rows.Count; i++) //{ // DataRow dr = dtdep.NewRow(); // dr[0] = dsdep.Tables[0].Rows[i][2].ToString(); // dtdep.Rows.Add(dr); //} //StoreDepartment.DataSource = dtdep; //StoreDepartment.DataBind(); } }
/// <summary> /// Lấy fieldname và giá trị /// </summary> /// <param name="control"></param> /// <param name="value"></param> /// <returns></returns> private string GetFieldName(Ext.Net.Component control, ref object value) { switch (control.ToString()) { case "Ext.Net.TextField": Ext.Net.TextField txtControl = (Ext.Net.TextField)control; value = txtControl.Text; if (!txtControl.ID.Contains("_")) { return(""); } else { return(txtControl.ID.Substring(txtControl.ID.IndexOf("_") + 1)); } case "Ext.Net.Hidden": Ext.Net.Hidden hdfControl = (Ext.Net.Hidden)control; value = hdfControl.Text; if (!hdfControl.ID.Contains("_")) { return(""); } else { return(hdfControl.ID.Substring(hdfControl.ID.IndexOf("_") + 1)); } case "Ext.Net.Checkbox": Ext.Net.Checkbox chk = (Ext.Net.Checkbox)control; value = chk.Checked == true ? 1 : 0; if (!chk.ID.Contains("_")) { return(""); } else { return(chk.ID.Substring(chk.ID.IndexOf("_") + 1)); } case "Ext.Net.DateField": Ext.Net.DateField dfDate = (Ext.Net.DateField)control; if (!SoftCore.Util.GetInstance().IsDateNull(dfDate.SelectedDate)) { value = dfDate.SelectedDate.Month + "/" + dfDate.SelectedDate.Day + "/" + dfDate.SelectedDate.Year; } else { value = ""; } if (!dfDate.ID.Contains("_")) { return(""); } else { return(dfDate.ID.Substring(dfDate.ID.IndexOf("_") + 1)); } case "Ext.Net.NumberField": Ext.Net.NumberField nbf = (Ext.Net.NumberField)control; value = nbf.Text; if (!nbf.ID.Contains("_")) { return(""); } else { return(nbf.ID.Substring(nbf.ID.IndexOf("_") + 1)); } case "Ext.Net.ComboBox": Ext.Net.ComboBox cbBox = (Ext.Net.ComboBox)control; value = cbBox.SelectedItem.Value; if (!cbBox.ID.Contains("_")) { return(""); } else { return(cbBox.ID.Substring(cbBox.ID.IndexOf("_") + 1)); } case "Ext.Net.SpinnerField": Ext.Net.SpinnerField spinnerField = (Ext.Net.SpinnerField)control; value = spinnerField.Text; if (!spinnerField.ID.Contains("_")) { return(""); } else { return(spinnerField.ID.Substring(spinnerField.ID.IndexOf("_") + 1)); } case "Ext.Net.TextArea": Ext.Net.TextArea txtArea = (Ext.Net.TextArea)control; value = txtArea.Text; if (!txtArea.ID.Contains("_")) { return(""); } else { return(txtArea.ID.Substring(txtArea.ID.IndexOf("_") + 1)); } case "Ext.Net.Container": Ext.Net.Container cContainer = (Ext.Net.Container)control; GetChildControl(cContainer); break; case "Ext.Net.FieldSet": Ext.Net.FieldSet fieldSet = (Ext.Net.FieldSet)control; GetChildControl(fieldSet); break; case "Ext.Net.HtmlEditor": Ext.Net.HtmlEditor htmlEditor = (Ext.Net.HtmlEditor)control; value = htmlEditor.Text; if (!htmlEditor.ID.Contains("_")) { return(""); } else { return(htmlEditor.ID.Substring(htmlEditor.ID.IndexOf("_") + 1)); } } return(""); }
public void FillPanelswithFields(Panel[] panels, DataTable dtContent, DataTable dtProperty, string IDField, string ValueField, string[] customTitle, string Kod) { //foreach (Panel panel in panels) //{ // panel.Items.Clear(); // panel.Items.u // //panel.ClearContent(); //} if (panels.Length == 1) { //destroyFirst(panels[0]); } for (int i = 0; i < dtProperty.Rows.Count; i++) { string fieldTitle, fieldType, fieldId, fieldCls = " ", changeFn = null, changeHnd = null; Boolean readOnly = false, hidden = false, protcted = false; int LabelWidth = 0, flex = 0; if (CommonFunctions.ContainColumn("DATA_TYPE", dtProperty)) { fieldType = dtProperty.Rows[i]["DATA_TYPE"].ToString().Trim(); if (!(new[] { "String", "Integer", "Decimal", "DateTime" }.Contains(fieldType))) { fieldType = "String"; } } else { fieldType = "String"; } if (CommonFunctions.ContainColumn("COMPONENT_ID", dtProperty)) { fieldId = dtProperty.Rows[i]["COMPONENT_ID"].ToString().Trim(); if (string.IsNullOrEmpty(fieldId)) { fieldId = "Field" + i.ToString(); } } else { fieldId = "EmptyField" + i.ToString(); } if (CommonFunctions.ContainColumn("TITLE", dtProperty)) { fieldTitle = dtProperty.Rows[i]["TITLE"].ToString().Trim(); } else { fieldTitle = fieldId; } IDictionary <string, object> obj = new Dictionary <string, object>(); string[] propertyArray = Regex.Split(dtProperty.Rows[i]["PROPERTIES"].ToString(), ";"); foreach (string s in propertyArray) { if (s.Contains(":")) { string[] substring = Regex.Split(s, ":"); string temp1 = substring[0]; string temp2 = substring[1]; obj.Add(temp1, temp2); } else { obj.Add(s, true); } } if (obj.Count > 0) { if (obj.ContainsKey("ReadOnly")) { readOnly = true; } if (obj.ContainsKey("Hidden")) { hidden = true; } if (obj.ContainsKey("Protected")) { protcted = true; } if (obj.ContainsKey("Flex")) { flex = CommonFunctions.ConvertToInteger(obj["Flex"].ToString()); } if (obj.ContainsKey("FieldCls")) { fieldCls = obj["FieldCls"].ToString(); } if (obj.ContainsKey("ListenersChangeFn")) { changeFn = obj["ListenersChangeFn"].ToString().Trim(); } if (obj.ContainsKey("ListenersChangeHandler")) { changeHnd = obj["ListenersChangeHandler"].ToString().Trim(); } if (obj.ContainsKey("LabelWidth")) { if (!Int32.TryParse(obj["LabelWidth"].ToString(), out LabelWidth)) { //hata ver } } if (obj.ContainsKey("CustomTitlePos")) { int CustomTitleArrayID = CommonFunctions.ConvertToInteger(obj["CustomTitlePos"].ToString()); if (customTitle.Length > CustomTitleArrayID) { if (!string.IsNullOrEmpty(customTitle[CustomTitleArrayID])) { fieldTitle = customTitle[CustomTitleArrayID]; } } } } string idofValue = " "; int indexofValue = -1; string resultValue = " "; indexofValue = CommonFunctions.getIndexOfString(dtContent, IDField, fieldId); if (indexofValue == -1) { if (TryGetId(fieldId, out idofValue)) { indexofValue = CommonFunctions.getIndexOfString(dtContent, IDField, idofValue); } else { //hata ver bulunamadı } } if (indexofValue > -1) { resultValue = dtContent.Rows[indexofValue][ValueField].ToString(); } if (!string.IsNullOrEmpty(Kod)) { fieldId += Kod.Trim(); } if (fieldType.ToUpper() == "Integer".ToUpper() || fieldType.ToUpper() == "Decimal".ToUpper()) { if (fieldType.ToUpper() == "Decimal".ToUpper()) { resultValue = resultValue.Replace(".", ","); } Ext.Net.NumberField tempNumberField = new Ext.Net.NumberField(); tempNumberField.ItemID = dtProperty.Rows[i]["ID"].ToString(); tempNumberField.ID = fieldId; tempNumberField.CustomConfig.Add(new ConfigItem("tablePropertyId", dtProperty.Rows[i]["ID"].ToString(), ParameterMode.Value)); tempNumberField.CustomConfig.Add(new ConfigItem("resetValue", "0", ParameterMode.Value)); tempNumberField.MinValue = 0; if (fieldType == "Integer") { tempNumberField.AllowDecimals = false; int outInt = 0; if (Int32.TryParse(resultValue, out outInt)) { /*ConfigItem: resetValue*/ tempNumberField.CustomConfig[1].Value = resultValue; } else { outInt = 0; //hata ver } tempNumberField.SetValue(outInt); } else { tempNumberField.AllowDecimals = true; tempNumberField.DecimalPrecision = 2; Decimal outDecimal = 0; if (Decimal.TryParse(resultValue, out outDecimal)) { /*ConfigItem: resetValue*/ tempNumberField.CustomConfig[1].Value = resultValue; } else { outDecimal = 0; //hata ver } tempNumberField.SetValue(outDecimal); } if (fieldCls != " ") { tempNumberField.FieldCls = fieldCls; } tempNumberField.Step = 1; tempNumberField.FieldLabel = fieldTitle; if (LabelWidth > 0) { tempNumberField.LabelWidth = LabelWidth; } if (flex > 0) { tempNumberField.Flex = flex; } tempNumberField.ReadOnly = readOnly; tempNumberField.Hidden = hidden; if (!string.IsNullOrEmpty(changeFn)) { tempNumberField.Listeners.Change.Fn = changeFn; } if (!string.IsNullOrEmpty(changeHnd)) { tempNumberField.Listeners.Change.Handler = changeHnd; } string[] strArry = new string[1] { "['change']" }; tempNumberField.ValidateOnChange = true; tempNumberField.CheckChangeEvents = strArry; if (panels.Length == 1) { panels[0].Add(tempNumberField); } else { int panelIndex = searchComponentArrayById(panels, dtProperty.Rows[i]["PARENT_ID"].ToString().Trim()); if (panelIndex > -1) { panels[panelIndex].Add(tempNumberField); } else { //Hata yaz } } } else if (fieldType.ToUpper() == "DateTime".ToUpper()) { DateTime dateValue; Ext.Net.DateField tempDateField = new Ext.Net.DateField(); if (resultValue == null || resultValue.Trim().Length == 0) { dateValue = new DateTime(1900, 1, 1, 0, 0, 0); } else { try { dateValue = Convert.ToDateTime(resultValue); } catch (Exception ex) { dateValue = new DateTime(1900, 1, 1, 0, 0, 0); //hata ver } } if (fieldCls != " ") { tempDateField.FieldCls = fieldCls; } tempDateField.ItemID = dtProperty.Rows[i]["ID"].ToString(); tempDateField.ID = fieldId; tempDateField.CustomConfig.Add(new ConfigItem("tablePropertyId", dtProperty.Rows[i]["ID"].ToString(), ParameterMode.Value)); tempDateField.FieldLabel = fieldTitle; if (LabelWidth > 0) { tempDateField.LabelWidth = LabelWidth; } tempDateField.ReadOnly = readOnly; tempDateField.Hidden = hidden; tempDateField.Value = dateValue; if (!string.IsNullOrEmpty(changeFn)) { tempDateField.Listeners.Change.Fn = changeFn; } if (!string.IsNullOrEmpty(changeHnd)) { tempDateField.Listeners.Change.Handler = changeHnd; } if (flex > 0) { tempDateField.Flex = flex; } if (panels.Length == 1) { panels[0].Add(tempDateField); } else { int panelIndex = searchComponentArrayById(panels, dtProperty.Rows[i]["PARENT_ID"].ToString().Trim()); if (panelIndex > -1) { panels[panelIndex].Add(tempDateField); } else { //Hata yaz } } } else { Ext.Net.TextField tempTextField = new Ext.Net.TextField(); tempTextField.ID = fieldId; tempTextField.ItemID = dtProperty.Rows[i]["ID"].ToString(); tempTextField.CustomConfig.Add(new ConfigItem("tablePropertyId", dtProperty.Rows[i]["ID"].ToString(), ParameterMode.Value)); tempTextField.FieldLabel = fieldTitle; if (LabelWidth > 0) { tempTextField.LabelWidth = LabelWidth; } tempTextField.ReadOnly = readOnly; tempTextField.Hidden = hidden; tempTextField.Value = resultValue; if (!string.IsNullOrEmpty(changeFn)) { tempTextField.Listeners.Change.Fn = changeFn; } if (!string.IsNullOrEmpty(changeHnd)) { tempTextField.Listeners.Change.Handler = changeHnd; string[] strArry = new string[1] { "['change']" }; tempTextField.ValidateOnChange = true; tempTextField.CheckChangeEvents = strArry; } if (fieldCls != " ") { tempTextField.FieldCls = fieldCls; } if (flex > 0) { tempTextField.Flex = flex; } if (panels.Length == 1) { panels[0].Add(tempTextField); } else { int panelIndex = searchComponentArrayById(panels, dtProperty.Rows[i]["PARENT_ID"].ToString().Trim()); if (panelIndex > -1) { panels[panelIndex].Add(tempTextField); } else { //Hata yaz } } } } }
private void InitComponents() { #region Header #region Button btnSave = new Button { ID = "btnSave", Icon = Icon.Disk, Text = "Save", ToolTip = "Save" }; btnPost = new Button { ID = "btnPost", Icon = Icon.PackageAdd, Text = "Post Receive", ToolTip = "Post Receive" }; topBar = new Toolbar { ID = "topBar", Items = { btnSave, btnPost } }; #endregion Button #region Fields txtKey = new Hidden { DataIndex = "Key", Name = "Key", LabelWidth = 150, Anchor = "100%", FieldLabel = "Key", ID = "Key" }; txtNo = new TextField { LabelWidth = 150, Anchor = "100%", FieldLabel = "No.", DataIndex = "No", Name = "No", ID = "txtNo", ReadOnly = true }; txtBuy_from_Vendor_No = new TextField { LabelWidth = 150, Anchor = "100%", FieldLabel = "Buy-from Vendor No.", DataIndex = "Buy_from_Vendor_No", Name = "Buy_from_Vendor_No", ID = "txtBuy_from_Vendor_No", ReadOnly = true }; txtBuy_from_Vendor_Name = new TextField { LabelWidth = 150, Anchor = "100%", FieldLabel = "Buy-from Vendor Name", DataIndex = "Buy_from_Vendor_Name", Name = "Buy_from_Vendor_Name", ID = "txtBuy_from_Vendor_Name", ReadOnly = true }; txtOrder_Date = new DateField { LabelWidth = 150, FieldLabel = "Order Date", Anchor = "100%", Format = "dd/MM/yyyy", SubmitFormat = "dd/MM/yyyy", DataIndex = "Order_Date", Name = " Order_Date", SelectOnFocus = true, ID = "txtOrder_Date", ReadOnly = true }; txtDocument_Date = new DateField { LabelWidth = 150, FieldLabel = "Document Date", Anchor = "100%", Format = "dd/MM/yyyy", SubmitFormat = "dd/MM/yyyy", DataIndex = "Document_Date", Name = " Document_Date", SelectOnFocus = true, ID = "txtDocument_Date", ReadOnly = true }; txtPosting_Date = new DateField { LabelWidth = 150, FieldLabel = "Posting Date", Anchor = "100%", Format = "dd/MM/yyyy", SubmitFormat = "dd/MM/yyyy", DataIndex = "Posting_Date", Name = " Posting_Date", SelectOnFocus = true, ID = "txtPosting_Date", AllowBlank = false, MsgTarget = MessageTarget.Side }; txtVietnamese_Desc = new TextField { LabelWidth = 150, FieldLabel = "Vietnamese Description", Anchor = "100%", DataIndex = "Vietnamese_Description", Name = " Vietnamese_Description", SelectOnFocus = true, ID = "txtVietnamese_Desc", AllowBlank = false, MsgTarget = MessageTarget.Side }; txtVAT_Desc = new TextField { LabelWidth = 150, FieldLabel = "VAT Description", Anchor = "100%", DataIndex = "VAT_Description", Name = " VAT_Description", SelectOnFocus = true, ID = "txtVAT_Desc", AllowBlank = false, MsgTarget = MessageTarget.Side }; cboReceive = new Checkbox { LabelWidth = 150, FieldLabel = "Receive", Anchor = "100%", DataIndex = "Receive", Name = " Receive", ID = "cboReceive" }; #endregion Fields #region FormPanel frmHeader = new FormPanel { //Margins = "10 10 0 10", Region = Region.North, Icon = Ext.Net.Icon.ApplicationForm, Title = "General", Border = true, CollapseMode = CollapseMode.Header, Collapsible = true, ID = "frmHeader", TrackResetOnLoad = true, Layout = "Hbox", Items = { new Panel { Layout = "Anchor", Flex = 1, BodyPaddingSummary = "10 10 0 10", Border = false, Items = { txtKey, txtNo, txtBuy_from_Vendor_No, txtBuy_from_Vendor_Name, txtOrder_Date } }, new Panel { Layout = "Anchor", Flex = 1, BodyPaddingSummary = "10 10 0 10", Border = false, Items = { txtPosting_Date, txtVietnamese_Desc, txtVAT_Desc, cboReceive } } } }; #endregion FormPanel #endregion Header #region Line #region GridLine dataTemplateLine = BuilDataTemplateLine(); grdLine = new GridPanelEditBase { ID = "grdLine", Border = false, TitleAlign = Ext.Net.TitleAlign.Center, ProxyUrl = @"..//..//..//..//PurchaseOrder//SvcPurchaseOrder.asmx/GetPOLine", DocumentType = "", DocumentNo = DocumentNo, CurCompany = GlobalVariable.CompanyName, SCOPE = this.SCOPE, DataTemplate = dataTemplateLine, }; #endregion GridLine #region pnlLine pnlLine = new Panel { ID = "pnlLine", Region = Ext.Net.Region.Center, Layout = "Fit", Icon = Ext.Net.Icon.Group, Title = "Lines", Border = true, //Margins = "10 10 5 10", Split = true, Items = { grdLine } }; #endregion pnlLine #endregion Line #region Windows this.ID = "winCard"; this.Maximizable = false; this.Minimizable = false; this.CloseAction = CloseAction.Destroy; this.Icon = Icon.ApplicationEdit; this.TopBar.Add(topBar); this.Layout = "Border"; this.Items.AddRange(new ItemsCollection <Ext.Net.AbstractComponent> { this.frmHeader, this.pnlLine }); #endregion Windows }
private void InitComponents() { #region Button and Toolbar bool display = (Status == "Open" || Status == "") ? true : false; btnSave = new Button { ID = "btnSave", Icon = Icon.Disk, Text = "Lưu", ToolTip = "Save", Visible = display }; btnDeleteCard = new Button { ID = "btnDeleteCard", Icon = Icon.Delete, Text = "Xóa", ToolTip = "Delete", Visible = display }; topBar = new Toolbar { ID = "topBar", Items = { btnSave, btnDeleteCard }, Visible = display }; #endregion Button and Toolbar #region Batch and Key txtBatch = new Ext.Net.Hidden { Name = "Batch", LabelWidth = 150, Anchor = "100%", FieldLabel = "Batch", ID = "txtBatch" }; txtKey = new Ext.Net.Hidden { DataIndex = "UID", Name = "UID", LabelWidth = 150, Anchor = "100%", FieldLabel = "UID", ID = "txtKey" }; #endregion Batch and Key #region cboNo cboNo = new ComboBoxLookup { DataIndex = "No", Name = "No", LabelWidth = 150, Anchor = "100%", FieldLabel = "No.", ID = "cboNo", SelectOnFocus = true, AllowBlank = false, MsgTarget = MessageTarget.Side, ProxyUrl = "../../../Handler/ItemListHandler.ashx", DataTemplete = { new LookupFormatData { FieldName = "No", FieldTitle = "No.", ColWidth = 100 }, new LookupFormatData { FieldName = "Description", FieldTitle = "Description", ColWidth = 250 }, new LookupFormatData { FieldName = "Base_Unit_of_Measure", FieldTitle = "Base Unit of Measure", ColWidth = 150 }, new LookupFormatData { FieldName = "Unit_Cost", FieldTitle = "Unit Cost", ColWidth = 120 } }, idProperty = "No", DisplayField = "No", ValueField = "No", PageSize = 100, CurCompany = GlobalVariable.CompanyName, SCOPE = "GLX.Lookup.ItemNo" }; #endregion cboNo #region cboType cboType = new ComboBox { DataIndex = "Type", Name = "Type", LabelWidth = 150, Anchor = "100%", FieldLabel = "Type", ID = "cboType", SelectOnFocus = true, AllowBlank = false, ReadOnly = true, Items = { new ListItem { Text = "G/L Account", Value = "G/L Account" }, new ListItem { Text = "Item", Value = "Item" }, } }; #endregion cboType #region cboAction_Message cboAction_Message = new ComboBox { DataIndex = "Action_Message", Name = "Action_Message", LabelWidth = 150, Anchor = "100%", FieldLabel = "Action Message", ID = "cboAction_Message", SelectOnFocus = true, ReadOnly = true, //Items = { // new ListItem {Text="", Value="" }, // new ListItem {Text="New", Value="New" }, // new ListItem {Text="Change Qty.", Value="Change Qty." }, // new ListItem {Text="Reschedule", Value="Reschedule" }, // new ListItem {Text="Resched. & Chg. Qty.", Value="Resched. & Chg. Qty." }, // new ListItem {Text="Cancel", Value="Cancel" }, //} Store = { new Store { Data = ActionMessage, AutoDataBind = true, Model = { new Model { Fields = { new ModelField { Name = "value" }, new ModelField { Name = "text" }, new ModelField { Name = "displaytext" } } } } } } }; #endregion cboAction_Message #region Accept Action Message and Description cboAccept_Action_Message = new Checkbox { DataIndex = "Accept_Action_Message", Name = "Accept_Action_Message", LabelWidth = 150, Anchor = "100%", FieldLabel = "Accept Action Message", ID = "cboAccept_Action_Message", ReadOnly = true }; txtDescription = new TextField { DataIndex = "Description", Name = "Description", LabelWidth = 150, Anchor = "100%", FieldLabel = "Description", ID = "txtDescription", ReadOnly = true }; txtRemark = new TextField { DataIndex = "Remark", Name = "Remark", LabelWidth = 150, Anchor = "100%", FieldLabel = "Remark", ID = "txtRemark", ReadOnly = false }; #endregion Accept Action Message and Description #region cboLocation_Code cboLocation_Code = new ComboBoxLookup { DataIndex = "Location_Code", Name = "Location_Code", LabelWidth = 150, Anchor = "100%", FieldLabel = "Location Code", ID = "cboLocation_Code", SelectOnFocus = true, AllowBlank = true, MsgTarget = MessageTarget.Side, ProxyUrl = "../../../Handler/LocationListHandler.ashx", DataTemplete = { new LookupFormatData { FieldName = "Code", FieldTitle = "Code", ColWidth = 100 }, new LookupFormatData { FieldName = "Name", FieldTitle = "Name", ColWidth = 150 } }, idProperty = "Code", DisplayField = "Code", ValueField = "Code", PageSize = 100, CurCompany = GlobalVariable.CompanyName, SCOPE = "GLX.Lookup.Location" }; #endregion cboLocation_Code #region Original_Quantity and Quantity txtOriginal_Quantity = new NumberField { DataIndex = "Original_Quantity", Name = "Original_Quantity", LabelWidth = 150, Anchor = "100%", FieldLabel = "Original Quantity", ID = "txtOriginal_Quantity", MinValue = 0, MaxValue = 1000000, ReadOnly = true }; //1.000.000 txtQuantity = new TextField { DataIndex = "Quantity", Name = "Quantity", LabelWidth = 150, Anchor = "100%", FieldLabel = "Quantity", ID = "txtQuantity", MaskRe = @"/[0-9\.]/", }; #endregion Original_Quantity and Quantity #region cboUnit_of_Measure_Code cboUnit_of_Measure_Code = new ComboBoxLookup { DataIndex = "Unit_of_Measure_Code", Name = "Unit_of_Measure_Code", LabelWidth = 150, Anchor = "100%", FieldLabel = "Unit of Measure Code", ID = "cboUnit_of_Measure_Code", SelectOnFocus = true, AllowBlank = false, MsgTarget = MessageTarget.Side, ProxyUrl = "../../../Handler/UOMHandler.ashx", DataTemplete = { new LookupFormatData { FieldName = "Code", FieldTitle = "Code", ColWidth = 100 }, new LookupFormatData { FieldName = "Description", FieldTitle = "Description", ColWidth = 150 }, new LookupFormatData { FieldName = "Qty_per_Unit_of_Measure", FieldTitle = "Qty per Unit of Measure", ColWidth = 150 } }, idProperty = "Code", DisplayField = "Code", ValueField = "Code", PageSize = 100, CurCompany = GlobalVariable.CompanyName, SCOPE = "GLX.Lookup.UOM" }; #endregion txtUnit_of_Measure_Code #region Direct_Unit_Cost and Due_Date txtDirect_Unit_Cost = new TextField { DataIndex = "Direct_Unit_Cost", Name = "txtDirect_Unit_Cost", LabelWidth = 150, Anchor = "100%", FieldLabel = "Direct Unit Cost", ID = "txtDirect_Unit_Cost", ReadOnly = true }; txtDue_Date = new DateField { DataIndex = "Due_Date", Name = "Due_Date", LabelWidth = 150, Anchor = "100%", FieldLabel = "Due Date", ID = "txtDue_Date", Format = "dd/MM/yyyy", SubmitFormat = "dd/MM/yyyy" }; #endregion Direct_Unit_Cost and Due_Date #region cboVendor_No cboVendor_No = new ComboBoxLookup { DataIndex = "Vendor_No", Name = "Vendor_No", LabelWidth = 150, Anchor = "100%", FieldLabel = "Vendor No.", ID = "cboVendor_No", ReadOnly = true, AllowBlank = true, MsgTarget = MessageTarget.Side, ProxyUrl = "../../../Handler/ItemVendorCatalogHandler.ashx", DataTemplete = { new LookupFormatData { FieldName = "Vendor_No", FieldTitle = "Vendor No", ColWidth = 100 }, new LookupFormatData { FieldName = "Vendor_Item_No", FieldTitle = "Vendor Item No.", ColWidth = 100 }, new LookupFormatData { FieldName = "Lead_Time_Calculation", FieldTitle = "Lead Time Calculation", ColWidth = 150 } }, idProperty = "Vendor_No", DisplayField = "Vendor_No", ValueField = "Vendor_No", PageSize = 100, CurCompany = GlobalVariable.CompanyName, SCOPE = "GLX.Lookup.ItemVendorCatalog" }; #endregion cboVendor_No #region cboUOMHandler //cboUOMHandler = new ComboBoxLookup { // DataIndex = "Unit_of_Measure_Code", // Name = "Unit_of_Measure_Code", // LabelWidth = 150, // Anchor = "100%", // FieldLabel = "UOM", // ID = "cboUOMHandler", // ReadOnly = false, // AllowBlank = false, // MsgTarget = MessageTarget.Side, // ProxyUrl = "../../../Handler/UOMHandler.ashx", // DataTemplete = { // new LookupFormatData{FieldName = "Code", FieldTitle = "Code", ColWidth = 100}, // new LookupFormatData{FieldName = "Description", FieldTitle = "Description", ColWidth = 100}, // new LookupFormatData{FieldName = "Qty_per_Unit_of_Measure", FieldTitle = "Qty per Unit of Measure", ColWidth = 200, Format="N0"}, // }, // idProperty = "Unit_of_Measure_Code", // DisplayField = "Unit_of_Measure_Code", // ValueField = "Unit_of_Measure_Code", // PageSize = 5, // CurCompany = GlobalVariable.CompanyName, // SCOPE = "GLX.Lookup.UOM" //}; //cboUOMHandler.Store.Primary.Parameters.AddRange(new Ext.Net.StoreParameter[] { // new Ext.Net.StoreParameter{Name = "type", Value = String.Format("2|3"), Mode = ParameterMode.Value}, //}); #endregion cboUOMHandler #region Vendor_Item_No txtVendor_Item_No = new TextField { DataIndex = "Vendor_Item_No", Name = "Vendor_Item_No", LabelWidth = 150, Anchor = "100%", FieldLabel = "Vendor Item No", ID = "txtVendor_Item_No", ReadOnly = true }; #endregion Vendor_Item_No #region cboReplenishment_System cboReplenishment_System = new ComboBox { DataIndex = "Replenishment_System", Name = "Replenishment_System", LabelWidth = 150, Anchor = "100%", FieldLabel = "Replenishment System", ID = "cboReplenishment_System", ReadOnly = true, Store = { new Store { Data = ReplenishmentSystem, AutoDataBind = true, Model = { new Model { Fields = { new ModelField { Name = "value" }, new ModelField { Name = "text" }, new ModelField { Name = "displaytext" } } } } } } //Items = { // new ListItem { Text="Purchase", Value="Purchase"}, // new ListItem { Text="Prod. Order", Value="Prod. Order"}, // new ListItem { Text="Transfer", Value="Transfer"}, // new ListItem { Text="Assembly", Value="Assembly"} //} }; #endregion cboReplenishment_System #region cboNo cboNo = new ComboBoxLookup { DataIndex = "No", Name = "No", LabelWidth = 150, Anchor = "100%", FieldLabel = "No.", ID = "cboNo", SelectOnFocus = true, AllowBlank = false, MsgTarget = MessageTarget.Side, ProxyUrl = "../../../Handler/ItemListHandler.ashx", DataTemplete = { new LookupFormatData { FieldName = "No", FieldTitle = "No.", ColWidth = 100 }, new LookupFormatData { FieldName = "Description", FieldTitle = "Description", ColWidth = 250 }, new LookupFormatData { FieldName = "Base_Unit_of_Measure", FieldTitle = "Base Unit of Measure", ColWidth = 150 }, new LookupFormatData { FieldName = "Unit_Cost", FieldTitle = "Unit Cost", ColWidth = 120 } }, idProperty = "No", DisplayField = "No", ValueField = "No", PageSize = 100, CurCompany = GlobalVariable.CompanyName, SCOPE = "GLX.Lookup.ItemNo" }; #endregion cboNo TextAreaChangeLogComment = new TextArea { Flex = 1, ID = "TextAreaChangeLogComment", ReadOnly = true }; hiddenConverted = new Ext.Net.Hidden { DataIndex = "Converted", Name = "Converted", ID = "hiddenConverted" }; hiddenStatus = new Ext.Net.Hidden { DataIndex = "Status", Name = "Status", ID = "hiddenStatus" }; #region frmHeader frmHeader = new FormPanel { Header = false, Region = Region.North, Icon = Ext.Net.Icon.ApplicationForm, Border = true, ID = "frmHeader", TrackResetOnLoad = true, Layout = "Hbox", Items = { new Panel { Layout = "Anchor", Flex = 1, BodyPaddingSummary = "10 10 10 10", Border = false, //Items = { txtKey, txtBatch, cboType, cboNo, cboAction_Message, cboAccept_Action_Message, txtDescription, cboLocation_Code } //txtOriginal_Quantity Items ={ txtKey, txtBatch, hiddenConverted, hiddenStatus, cboNo, txtDescription, txtRemark, cboUnit_of_Measure_Code, txtDirect_Unit_Cost, cboLocation_Code, txtQuantity, txtDue_Date }//txtOriginal_Quantity, cboType, cboAction_Message, cboAccept_Action_Message, }, } }; frmComment = new FormPanel { ID = "frmComment", Title = "Comment", Icon = Icon.Comments, Border = false, Region = Region.South, Layout = "Fit", Height = 150, Items = { TextAreaChangeLogComment } }; #endregion frmHeader #region Windows this.ID = "winCard"; this.Maximizable = false; this.Minimizable = false; this.CloseAction = CloseAction.Destroy; this.Icon = Icon.ApplicationEdit; this.TopBar.Add(topBar); this.Layout = "Border"; this.Items.AddRange( new ItemsCollection <Ext.Net.AbstractComponent> { this.frmHeader, frmComment } ); #endregion Windows }
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(); //} }