using BLL; using Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.CLGL { public partial class ArrivalStatistics : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { drpWarehouse.DataTextField = "Text"; drpWarehouse.DataValueField = "Value"; drpWarehouse.DataSource = BLL.DropListService.HJGL_WarehouseCode(); drpWarehouse.DataBind(); this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); // 绑定表格 // this.BindGrid(); } } #region 绑定数据 /// /// 绑定数据 /// private void BindGrid() { var tb = BLL.TwArrivalStatisticsService.GetStatistics(this.CurrUser.LoginProjectId, txtMaterialCode.Text.Trim(), drpWarehouse.SelectedValue); if (tb.Count() > 0) { decimal needNum = 0; decimal realNum = 0; needNum = tb.Sum(x => x.NeedNum); realNum = tb.Sum(x => x.RealNum > x.NeedNum ? x.NeedNum : x.RealNum); lbRate.Text = "总体匹配率:" + Math.Round(realNum * 100 / needNum, 4) + "%"; } else { lbRate.Text = "总体匹配率:0%"; } if (cbIsItAPerfectMatch.Checked) { tb = tb.Where(x => x.MatchRate < 1).ToList(); } //tb = GetFilteredTable(Grid1.FilteredData, tb); Grid1.DataSource = tb; Grid1.DataBind(); for (int i = 0; i < Grid1.Rows.Count; i++) { var model = Grid1.Rows[i].DataItem as Tw_ArrivalStatisticsOutPut; if (model?.MatchRate < 1 || model?.MatchRate == null) { Grid1.Rows[i].RowCssClass = "red"; } } } #endregion #region GV 数据操作 /// /// 过滤表头 /// /// /// //protected void Grid1_FilterChange(object sender, EventArgs e) //{ // this.BindGrid(); //} /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { this.Grid1.PageIndex = e.NewPageIndex; this.BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { this.Grid1.SortDirection = e.SortDirection; this.Grid1.SortField = e.SortField; this.BindGrid(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue); this.BindGrid(); } #endregion #region 关闭弹出窗 /// /// 关闭弹出窗 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs 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; this.Grid1.PageSize = 500; this.BindGrid(); Response.Write(GetGridTableHtml(Grid1)); Response.End(); } /// /// 导出方法 /// /// /// private string GetGridTableHtml(Grid grid) { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); foreach (GridColumn column in grid.Columns) { sb.AppendFormat("", column.HeaderText); } sb.Append(""); foreach (GridRow row in grid.Rows) { sb.Append(""); foreach (GridColumn column in grid.Columns) { string 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(); } } }