using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.HJGL.WeldingReport { public partial class WeldJointOut : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); BLL.UnitWorkService.InitAZUnitWorkDownList(this.drpUnitWork, this.CurrUser.LoginProjectId, true); Funs.FineUIPleaseSelect(this.drpPipeline); //显示列 Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.PersonId, "JointOut"); if (c != null) { this.GetShowColumn(c.Columns); } } } #region /// /// 绑定数据 /// private void BindGrid() { string strSql = @"SELECT WeldJointId,WeldJointCode,PipelineId,PipelineCode,JointAttribute, ComponentsCode1,ComponentsCode2,IsWelding,IsHotProessStr,Material1Code,Material2Code, WeldTypeCode,Specification,HeartNo1,HeartNo2,Size,Dia,Thickness,GrooveTypeCode, WeldingMethodCode,WeldingWireCode,WeldingRodCode,WeldingDate,WeldingDailyCode, BackingWelderCode,CoverWelderCode,MediumCode ,PreTemperature,JointArea,WPQCode,Remark FROM View_HJGL_WeldJoint WHERE 1= 1"; List listStr = new List { }; if (this.drpUnitWork.SelectedValue != BLL.Const._Null) { strSql += " AND UnitWorkId = @UnitWorkId"; listStr.Add(new SqlParameter("@UnitWorkId", this.drpUnitWork.SelectedValue)); } if (this.drpPipeline.SelectedValueArray.Length > 1 || (this.drpPipeline.SelectedValueArray.Length == 1 && this.drpPipeline.SelectedValue != BLL.Const._Null)) { string pipelineIds = string.Empty; foreach (var item in this.drpPipeline.SelectedValueArray) { pipelineIds += item + ","; } strSql += " AND CHARINDEX(PipelineId,@PipelineId)>0"; listStr.Add(new SqlParameter("@PipelineId", pipelineIds)); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); // 2.获取当前分页数据 Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #region 选择要显示列 /// /// 选择显示列 /// /// /// protected void btnSelectColumn_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("JointShowColumn.aspx", "显示列 - "))); } #endregion #region 显示列 protected void Window1_Close(object sender, WindowCloseEventArgs e) { this.BindGrid(); //显示列 Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.PersonId, "JointOut"); if (c != null) { this.GetShowColumn(c.Columns); } } /// /// 显示的列 /// /// private void GetShowColumn(string column) { if (!string.IsNullOrEmpty(column)) { this.Grid1.Columns[2].Hidden = true; this.Grid1.Columns[3].Hidden = true; this.Grid1.Columns[4].Hidden = true; this.Grid1.Columns[5].Hidden = true; this.Grid1.Columns[6].Hidden = true; this.Grid1.Columns[7].Hidden = true; this.Grid1.Columns[8].Hidden = true; this.Grid1.Columns[9].Hidden = true; this.Grid1.Columns[10].Hidden = true; this.Grid1.Columns[11].Hidden = true; this.Grid1.Columns[12].Hidden = true; this.Grid1.Columns[13].Hidden = true; this.Grid1.Columns[14].Hidden = true; this.Grid1.Columns[15].Hidden = true; this.Grid1.Columns[16].Hidden = true; this.Grid1.Columns[17].Hidden = true; this.Grid1.Columns[18].Hidden = true; List columns = column.Split(',').ToList(); foreach (var item in columns) { if (!string.IsNullOrEmpty(item)) { this.Grid1.Columns[Convert.ToInt32(item)].Hidden = false; } } } } #endregion /// /// 改变索引事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 分页下拉选择事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { this.BindGrid(); } #endregion #region 统计按钮事件 /// /// 统计 /// /// /// protected void BtnAnalyse_Click(object sender, EventArgs e) { BindGrid(); } #endregion #region 导出按钮 /// 导出按钮 /// /// /// protected void btnOut_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("焊口信息导出" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(GetGridTableHtml(Grid1)); Response.End(); } /// /// 导出方法 /// /// /// private string GetGridTableHtml(Grid grid) { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); grid.PageSize = 10000; BindGrid(); foreach (GridColumn column in grid.Columns) { if (column.Hidden == false) { sb.AppendFormat("", column.HeaderText); } } sb.Append(""); foreach (GridRow row in grid.Rows) { sb.Append(""); foreach (GridColumn column in grid.Columns) { if (column.Hidden == false) { string html = row.Values[column.ColumnIndex].ToString(); if (column.ColumnID == "tfNumber") { html = (row.FindControl("labNumber") as AspNet.Label).Text; } sb.AppendFormat("", html); } } sb.Append(""); } sb.Append("
{0}
{0}
"); return sb.ToString(); } #endregion protected void drpUnitWork_SelectedIndexChanged(object sender, EventArgs e) { this.drpPipeline.Items.Clear(); if (this.drpUnitWork.SelectedValue != BLL.Const._Null) { PipelineService.InitPipelineDownList(this.drpPipeline, this.drpUnitWork.SelectedValue, true); } else { Funs.FineUIPleaseSelect(this.drpPipeline); } } } }