using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.SqlClient; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using BLL; namespace FineUIPro.Web.common.ProjectSet { public partial class ProjectUnit : PageBase { 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.GetOnProjectListByUserId(this.CurrUser.UserId); this.drpProjectId.DataBind(); Funs.FineUIPleaseSelect(this.drpProjectId); 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(); } #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 /// <summary> /// 加载树 /// </summary> private void InitTreeMenu() { this.tvProject.Nodes.Clear(); TreeNode rootProjectNode1 = new TreeNode(); //rootProjectNode1.Text = "管道安装"; rootProjectNode1.NodeID = "1"; rootProjectNode1.Expanded = true; this.tvProject.Nodes.Add(rootProjectNode1); TreeNode rootProjectNode2 = new TreeNode(); rootProjectNode2.Text = "压力容器"; rootProjectNode2.NodeID = "2"; //rootProjectNode1.Expanded = true; this.tvProject.Nodes.Add(rootProjectNode2); BoundTree(rootProjectNode1.Nodes,"1"); BoundTree(rootProjectNode2.Nodes,"2"); } /// <summary> /// 添加项目 /// </summary> /// <param name="nodes"></param> /// <param name="parentId"></param> /// <param name="type"></param> private void BoundTree(TreeNodeCollection nodes,string projectSoft) { List<Model.Base_Project> projectLists = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, projectSoft); if (this.drpProjectId.SelectedValue != null && this.drpProjectId.SelectedValue != "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; tn.NodeID = q.ProjectId; tn.ToolTip = q.ProjectName; tn.EnableClickEvent = true; nodes.Add(tn); } } } #endregion /// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e) { this.InitTreeMenu(); } #region 点击TreeView /// <summary> /// 点击TreeView /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void tvProject_NodeCommand(object sender, TreeCommandEventArgs e) { if (this.tvProject.SelectedNodeID != "0" && this.tvProject.SelectedNode!=null) { BindGrid(); } } #endregion #region 页索引改变事件 /// <summary> /// 页索引改变事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } #endregion #region 排序 /// <summary> /// 排序 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Grid1_Sort(object sender, GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 分页选择下拉改变事件 /// <summary> /// 分页选择下拉改变事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> 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("请选择项目!", MessageBoxIcon.Warning); } } /// <summary> /// Grid双击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("EditOrganization.aspx?projectId={0}&projectUnitId={1}", tvProject.SelectedNodeID,Grid1.SelectedRowID, "编辑 - "))); } #region 关闭弹出窗口 /// <summary> /// 关闭弹出窗口 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion } }