using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.EditorManage { public partial class PermitEditor : PageBase { protected void Page_Load(object sender, EventArgs e) { // 表头过滤 FilterDataRowItem = FilterDataRowItemImplement; if (!IsPostBack) { GetButtonPower(); //类型 this.drpJobType.DataTextField = "ConstText"; this.drpJobType.DataValueField = "ConstId"; this.drpJobType.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.ProjectPlanner_JobType); this.drpJobType.DataBind(); Funs.FineUIPleaseSelectJobType(this.drpJobType); //状态 this.drpJobStatus.DataTextField = "ConstText"; this.drpJobStatus.DataValueField = "ConstId"; this.drpJobStatus.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.ProjectPlanner_JobStatus); this.drpJobStatus.DataBind(); Funs.FineUIPleaseSelectJobStatus(this.drpJobStatus); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); this.BindGrid(); } } #region 过滤表头 /// /// 过滤表头 /// /// /// protected void Grid1_FilterChange(object sender, EventArgs e) { BindGrid(); } /// /// 根据表头信息过滤列表数据 /// /// /// /// /// /// private bool FilterDataRowItemImplement(object sourceObj, string fillteredOperator, object fillteredObj, string column) { bool valid = false; if (column == "ProjectControl_JobNo") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ProjectControl_JobType") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ProjectControl_JobTitle") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ProjectControl_JobStatus") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ProjectControl_BUCode") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "PM_General_Priority") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "PM_General_Category") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } return valid; } #endregion #region 分页、排序 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; 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) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 关闭弹出窗口 /// /// 关闭窗口 /// /// /// protected void Window1_Close(object sender, EventArgs e) { BindGrid(); } #endregion #region 编辑 /// /// 编辑 /// /// /// protected void btnEdit_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select at least one line!"); return; } string Id = Grid1.SelectedRowID; var eproject = BLL.EProjectService.GeteProjectById(Id); if (eproject != null) { Window1.Title = "Permit Editor(Job No. " + eproject.ProjectControl_JobNo + ")"; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PermitEditorEdit.aspx?EProjectId={0}", Id, "编辑 - "))); } /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnEdit_Click(null, null); } /// /// 右键编辑事件 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { btnEdit_Click(null, null); } #endregion #region 查询 protected void drpJobType_SelectedIndexChanged(object sender, EventArgs e) { this.drpJobStatus.Items.Clear(); if (drpJobType.SelectedText == "Other") { BLL.ConstService.InitConstValueProjectStatus(this.drpJobStatus, BLL.Const.ProjectPlanner_JobStatus, "3", true); } if (drpJobType.SelectedText != "Other") { BLL.ConstService.InitConstValueProjectStatus(this.drpJobStatus, BLL.Const.ProjectPlanner_JobStatus, "2", true); } } ///查询 protected void btnSearch_Click(object sender, EventArgs e) { BindGrid(); } #endregion /// /// BindGrid /// private void BindGrid() { string strSql = @"SELECT EProjectId," + "ProjectControl_JobNo," + "ProjectControl_JobType," + "ProjectControl_JobStatus," + "ProjectControl_JobTitle," + "ProjectControl_BUCode," + "PM_General_Priority," + "PM_General_Category " + "FROM dbo.Editor_EProject WHERE 1=1 "; List listStr = new List(); if (this.drpJobType.SelectedValue != BLL.Const._Null) { strSql += " AND ProjectControl_JobType=@JobType "; listStr.Add(new SqlParameter("@JobType", this.drpJobType.SelectedItem.Text)); } if (this.drpJobStatus.SelectedValue != BLL.Const._Null && this.drpJobStatus.SelectedValue != null) { strSql += " AND ProjectControl_JobStatus=@Status "; listStr.Add(new SqlParameter("@Status", this.drpJobStatus.SelectedItem.Text)); } if (!string.IsNullOrEmpty(this.txtJobNO.Text.Trim())) { strSql += " AND ProjectControl_JobNo LIKE @jobNO "; listStr.Add(new SqlParameter("@jobNO", this.txtJobNO.Text.Trim() + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); // 2.获取当前分页数据 //var table = this.GetPagedDataTable(Grid1, tb1); Grid1.RecordCount = tb.Rows.Count; tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #region 权限设置 /// /// 菜单按钮权限 /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.PermitEditorMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnModify)) { this.btnEdit.Hidden = false; this.btnMenuEdit.Hidden = false; this.Grid1.EnableRowDoubleClickEvent = true; } else { this.Grid1.EnableRowDoubleClickEvent = false; } } } #endregion #region 查看 /// /// 查看 /// /// /// protected void btnMenuView_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select at least one line!"); return; } string Id = Grid1.SelectedRowID; var eproject = BLL.EProjectService.GeteProjectById(Id); if (eproject != null) { Window1.Title = "Permit Editor(Job No. " + eproject.ProjectControl_JobNo + ")"; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PermitEditorEdit.aspx?EProjectId={0}&view=1", Id, "编辑 - "))); } #endregion } }