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 ProjectUser : 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.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 ProjectUser.ProjectUserId, ProjectUser.UserId, ProjectUser.ProjectId, ProjectUser.RoleIds, Sysuser.Account, Sysuser.UserName, Sysuser.UserCode, t.UnitTypeName AS UnitType, BaseUnit.UnitName FROM dbo.Project_User AS ProjectUser LEFT JOIN dbo.Sys_User AS Sysuser ON Sysuser.UserId = ProjectUser.UserId LEFT JOIN dbo.Project_Unit AS ProjectUnit ON ProjectUnit.UnitId = Sysuser.UnitId AND ProjectUser.ProjectId =ProjectUnit.ProjectId LEFT JOIN dbo.Base_Unit AS BaseUnit ON Sysuser.UnitId =BaseUnit.UnitId LEFT JOIN dbo.Base_UnitType t ON t.UnitTypeId=ProjectUnit.UnitType where ProjectUser.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 == "UserName") { 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 btnSelectUser_Click(object sender, EventArgs e) { if (tvProject.SelectedNode != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SelectUser.aspx?projectId={0}", tvProject.SelectedNodeID, "编辑 - "))); } else { Alert.ShowInTop(Resources.Lan.PleaseSelectProject, MessageBoxIcon.Warning); } } #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion #region 删除数据 /// /// 批量删除数据 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.ProjectUserMenuId, Const.BtnSave)) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string projectUserId = Grid1.DataKeys[rowIndex][0].ToString(); BLL.Project_UserService.DeleteProject_UserByProjectUserId(projectUserId); } BindGrid(); //BLL.Sys_LogService.AddLog(BLL.Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Resources.Lan.DeleteUserInformation); ShowNotify(Resources.Lan.DeletedSuccessfully); } } else { ShowNotify(Resources.Lan.NoPrivilegePrompt); } } #endregion #region 格式化字符串 /// /// 转换热处理类型 /// /// /// protected string ConvertRoleName(object roleIds) { string roleNames = string.Empty; if (roleIds != null) { string[] roles = roleIds.ToString().Split(','); foreach (string r in roles) { var q = BLL.Sys_RoleService.GetRole(r); if (q != null) { roleNames = roleNames + q.RoleName + ","; } } } if (roleNames.Length > 0) { roleNames = roleNames.Substring(0, roleNames.Length - 1); } return roleNames; } #endregion } }