using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.SqlClient; using BLL; namespace FineUIPro.Web.common.ProjectSet { public partial class ProjectUnit : PageBase { #region 加载 protected void Page_Load(object sender, EventArgs e) { // 表头过滤 FilterDataRowItem = FilterDataRowItemImplement; if (!IsPostBack) { this.drpProjectId.DataTextField = "ProjectCode"; this.drpProjectId.DataValueField = "ProjectId"; this.drpProjectId.DataSource = BLL.Base_ProjectService.GetProjectListByUserIdAndState(this.CurrUser.UserId, BLL.Const._False, CurrUser.LoginProjectArea); this.drpProjectId.DataBind(); Funs.FineUIPleaseSelect(this.drpProjectId,Resources.Lan.PleaseSelect); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); InitTreeMenu();//加载树 } } private void BindGrid() { string strSql = @"select * from View_Common_Project_UnitList where ProjectId=@ProjectId"; SqlParameter[] parameter = new SqlParameter[] { new SqlParameter("@ProjectId",this.tvProject.SelectedNodeID) }; DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #endregion #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 == "UnitCode") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal") { if (sourceValue == fillteredValue) { valid = true; } } else if (fillteredOperator == "contain") { if (sourceValue.Contains(fillteredValue)) { valid = true; } } } else if (column == "UnitName") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal") { if (sourceValue == fillteredValue) { valid = true; } } else if (fillteredOperator == "contain") { if (sourceValue.Contains(fillteredValue)) { valid = true; } } } return valid; } #endregion #region /// /// 加载树 /// private void InitTreeMenu() { this.tvProject.Nodes.Clear(); List projectLists = BLL.Base_ProjectService.GetProjectListByUserIdAndState(this.CurrUser.UserId, Const._False, CurrUser.LoginProjectArea); if (this.drpProjectId.SelectedValue != BLL.Const._Null) { projectLists = projectLists.Where(e => e.ProjectId == this.drpProjectId.SelectedValue).ToList(); } if (projectLists.Count() > 0) { TreeNode tn = null; foreach (var q in projectLists) { tn = new TreeNode(); tn.Text = "[" + q.ProjectCode + "]" + q.ProjectName; tn.NodeID = q.ProjectId; tn.ToolTip = q.ProjectName; tn.EnableClickEvent = true; this.tvProject.Nodes.Add(tn); } } } #endregion /// /// /// /// /// protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e) { this.InitTreeMenu(); } #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvProject_NodeCommand(object sender, TreeCommandEventArgs e) { if (this.tvProject.SelectedNodeID != "0" && this.tvProject.SelectedNode!=null) { BindGrid(); } } #endregion #region 页索引改变事件 /// /// 页索引改变事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 分页选择下拉改变事件 /// /// 分页选择下拉改变事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #endregion protected void btnSelectUnit_Click(object sender, EventArgs e) { if (tvProject.SelectedNode != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SelectUnit.aspx?projectId={0}", tvProject.SelectedNodeID, "编辑 - "))); } else { Alert.ShowInTop(Resources.Lan.PleaseSelectProject, MessageBoxIcon.Warning); } } /// /// Grid双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("EditTeamGroup.aspx?projectId={0}&projectUnitId={1}", tvProject.SelectedNodeID, Grid1.SelectedRowID, "编辑 - "))); } #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); string projectId = this.tvProject.SelectedNodeID; string unitIds = string.Empty; for (int i = 0; i < this.Grid1.Rows.Count; i++) { unitIds = unitIds + Grid1.DataKeys[i][1].ToString() + ","; //var team = (from x in Funs.DB.Welder_TeamGroup where x.ProjectId == projectId && x.UnitId == unitId select x).ToList(); } var teamUnit = from x in Funs.DB.Welder_TeamGroup where x.ProjectId == projectId group x by x.UnitId into g select new { g.Key }; if (teamUnit.Count() > 0) { foreach (var unitId in teamUnit) { if (!unitIds.Contains(unitId.Key)) { var team = from x in Funs.DB.Welder_TeamGroup where x.ProjectId == projectId && x.UnitId == unitId.Key select x; if (team.Count() > 0) { Funs.DB.Welder_TeamGroup.DeleteAllOnSubmit(team); Funs.DB.SubmitChanges(); } } } } } #endregion } }