using BLL; using Model; using System; using System.Linq; using System.Text; using System.Web; namespace FineUIPro.Web.PHTGL.BillOfQuantities { public partial class TemQuantityList : PageBase { public string Type { get => (string)ViewState["Type"]; set => ViewState["Type"] = value; } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Type = Request.Params["Type"]; GetButtonPower(); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 BindGrid(); } } #region 绑定数据 /// /// 绑定数据 /// private void BindGrid() { var table = new PHTGL_Quantity(); table.Major = BLL.PHTGL_QuantityService.GetMajorItems().Where(x => x.Text == Type).Select(x => x.Value).FirstOrDefault() ?? ""; table.SubProject = txtSubProject.Text.Trim() ?? ""; table.SubItemProject = txtSubItemProject.Text.Trim() ?? ""; table.ProjectCode = txtProjectCode.Text.Trim() ?? ""; table.ProjectName = txtProjectName.Text.Trim() ?? ""; table.IsTemplate = true; var tb = PHTGL_QuantityService.getListData(table, Grid1); Grid1.RecordCount = PHTGL_QuantityService.count; //tb = GetFilteredTable(Grid1.FilteredData, tb); Grid1.DataSource = tb; Grid1.DataBind(); } #endregion #region 关闭弹出窗 /// /// 关闭弹出窗 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion #region 获取权限按钮 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { var menuid = ""; switch (Type) { case "0": menuid = Const.TemQuantityListMenuId0; break; case "1": menuid = Const.TemQuantityListMenuId1; break; case "2": menuid = Const.TemQuantityListMenuId2; break; case "3": menuid = Const.TemQuantityListMenuId3; break; case "4": menuid = Const.TemQuantityListMenuId4; break; case "5.1": menuid = Const.TemQuantityListMenuId5_1; break; case "5.2": menuid = Const.TemQuantityListMenuId5_2; break; case "5.3": menuid = Const.TemQuantityListMenuId5_3; break; case "6": menuid = Const.TemQuantityListMenuId6; break; case "7": menuid = Const.TemQuantityListMenuId7; break; case "8": menuid = Const.TemQuantityListMenuId8; break; case "9": menuid = Const.TemQuantityListMenuId9; break; } var buttonList = CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.PersonId, menuid); if (buttonList.Count > 0) { if (buttonList.Contains(Const.BtnAdd)) btnNew.Hidden = false; if (buttonList.Contains(Const.BtnModify)) btnMenuEdit.Hidden = false; if (buttonList.Contains(Const.BtnDelete)) btnMenuDelete.Hidden = false; } if (this.CurrUser.PersonId == Const.hfnbdId) { btnCheck.Hidden = false; } } #endregion #region 导入 /// /// 导入按钮 /// /// /// protected void btnImport_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript( Window2.GetShowReference(string.Format("TemQuantityIn.aspx?Type={0}", Type, "导入 - "))); } #endregion #region GV 数据操作 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #endregion #region 数据编辑事件 /// /// 新增 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript( Window1.GetShowReference(string.Format("PHTGL_QuantityEdit.aspx?Id={0}&Type={1}", string.Empty, Type, "增加 - "))); } /// /// 编辑按钮 /// /// /// protected void btnEdit_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } var ID = Grid1.SelectedRowID; var model = PHTGL_QuantityService.GetPHTGL_QuantityById(ID); if (model != null) ///已上报时不能删除 PageContext.RegisterStartupScript( Window1.GetShowReference(string.Format("PHTGL_QuantityEdit.aspx?Id={0}", ID, "编辑 - "))); } /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnEdit_Click(null, null); } /// /// 批量删除 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (var rowIndex in Grid1.SelectedRowIndexArray) { var rowID = Grid1.DataKeys[rowIndex][0].ToString(); var model = PHTGL_QuantityService.GetPHTGL_QuantityById(rowID); if (model != null) PHTGL_QuantityService.DeletePHTGL_QuantityById(rowID); } BindGrid(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #endregion #region 导出按钮 /// 导出按钮 /// /// /// protected void btnOut_Click(object sender, EventArgs e) { Response.ClearContent(); var filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode("" + filename, Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = Encoding.UTF8; Grid1.PageSize = 500; BindGrid(); Response.Write(GetGridTableHtml(Grid1)); Response.End(); } /// /// 导出方法 /// /// /// private string GetGridTableHtml(Grid grid) { var sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); foreach (var column in grid.Columns) sb.AppendFormat("", column.HeaderText); sb.Append(""); foreach (var row in grid.Rows) { sb.Append(""); foreach (var column in grid.Columns) { var html = row.Values[column.ColumnIndex].ToString(); if (column.ColumnID == "tfNumber") html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; sb.AppendFormat("", html); } sb.Append(""); } sb.Append("
{0}
{0}
"); return sb.ToString(); } #endregion protected void btnSearch_Click(object sender, EventArgs e) { BindGrid(); } protected void btnCheck_OnClick(object sender, EventArgs e) { var table = new PHTGL_Quantity(); table.Major = BLL.PHTGL_QuantityService.GetMajorItems().Where(x => x.Text == Type).Select(x => x.Value).FirstOrDefault() ?? ""; table.IsTemplate = true; var tb = PHTGL_QuantityService.GetPHTGL_QuantityByModle(table); PHTGL_QuantityService.CheckSubProjectName(tb); } } }