private void CreateTreeData() { try { SelectedNodes = (List <string>)Session["SelectedNodes"]; List <GroupPerjawatan> data = (List <GroupPerjawatan>)Session["GroupPerjawatansData"]; List <GroupPerjawatanTreeHelper> TreeData = new List <GroupPerjawatanTreeHelper>(); if (data.Count > 0) { TreeData = data.Where(x => x.ParentGroupPerjawatanID == string.Empty).OrderBy(x => x.GroupPerjawatanCode).Select(x => new GroupPerjawatanTreeHelper() { GroupPerjawatanCode = x.GroupPerjawatanCode, GroupPerjawatanDesc = x.GroupPerjawatanDesc, ParentGroupPerjawatanID = x.ParentGroupPerjawatanID, Status = x.Status, Level = 0, ChildCount = data.Where(y => y.ParentGroupPerjawatanID == x.GroupPerjawatanCode).Count() }).ToList(); if (SelectedNodes == null || SelectedNodes.Count == 0) { Session["SelectedNodes"] = new List <string>(); SelectedNodes = new List <string>(); } else { //while(TreeData.Where(x=>x.IsExpanded).Select(x=>x).Count() < SelectedNodes.Count) //{ for (int i = 0; i < TreeData.Count; i++) { if (SelectedNodes.Contains(TreeData[i].GroupPerjawatanCode)) { //TreeData[i].IsExpanded = true; foreach (GroupPerjawatan sd in data.Where(x => x.ParentGroupPerjawatanID == TreeData[i].GroupPerjawatanCode).OrderByDescending(x => x.GroupPerjawatanCode)) { GroupPerjawatanTreeHelper objSH = new GroupPerjawatanTreeHelper() { GroupPerjawatanCode = sd.GroupPerjawatanCode, GroupPerjawatanDesc = sd.GroupPerjawatanDesc, ParentGroupPerjawatanID = sd.ParentGroupPerjawatanID, Status = sd.Status, Level = TreeData[i].Level + 1, ChildCount = data.Where(y => y.ParentGroupPerjawatanID == sd.GroupPerjawatanCode).Count() }; TreeData.Insert(i + 1, objSH); } } } //} } } Session["GroupPerjawatansTree"] = TreeData; BindGrid(); } catch (Exception ex) { ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true); } }
//protected void btnCancel_Click(object sender, EventArgs e) //{ // ClearPageData(); // Session["SelectedGroupPerjawatan"] = null; //} protected void gvGroupPerjawatans_RowDataBound(object sender, GridViewRowEventArgs e) { try { if (e.Row.RowType == DataControlRowType.DataRow) { GroupPerjawatanTreeHelper rowItem = (GroupPerjawatanTreeHelper)e.Row.DataItem; //((Label)e.Row.FindControl("lblIndent")).Width = Unit.Pixel(rowItem.Level * 30); //((Label)e.Row.FindControl("lblDetailCode")).Text = rowItem.DetailCode; int width = rowItem.Level * 30; string strHTML = string.Empty; if (rowItem.ChildCount > 0) { if (SelectedNodes.Contains(rowItem.GroupPerjawatanCode)) { strHTML = "<label style=\"width:" + (width + 10).ToString() + "px;vertical-align:middle;\"><i class=\"ace-icon fa fa-minus-square pull-right\"></i></label> "; } else { strHTML = "<label style=\"width:" + (width + 10).ToString() + "px;vertical-align:middle;\"><i class=\"ace-icon fa fa-plus-square pull-right\"></i></label> "; } } else { strHTML = "<label style=\"width:" + (width + 10).ToString() + "px;vertical-align:middle;\"><i></i></label> "; } LinkButton btnExpand = ((LinkButton)e.Row.FindControl("btnExpand")); btnExpand.Text = "<div>" + strHTML + rowItem.GroupPerjawatanCode + "</div>"; if (rowItem.ParentGroupPerjawatanID != string.Empty) { ((LinkButton)e.Row.FindControl("lbAddItem")).Visible = false; } if (rowItem.ParentGroupPerjawatanID == string.Empty) { ((LinkButton)e.Row.FindControl("lbMakeRoot")).Visible = false; } if (rowItem.GroupPerjawatanCode == string.Empty) { ((LinkButton)e.Row.FindControl("btnExpand")).Visible = false; ((LinkButton)e.Row.FindControl("lbEit")).Visible = false; ((LinkButton)e.Row.FindControl("lbDelete")).Visible = false; ((LinkButton)e.Row.FindControl("lbCut")).Visible = false; ((LinkButton)e.Row.FindControl("lbPaste")).Visible = false; ((LinkButton)e.Row.FindControl("lbMakeRoot")).Visible = false; ((LinkButton)e.Row.FindControl("lbAddChild")).Visible = false; } if (Session["SelectedGroupPerjawatan"] != null && ((GroupPerjawatan)Session["SelectedGroupPerjawatan"]).GroupPerjawatanCode == rowItem.GroupPerjawatanCode) { e.Row.Style["background-color"] = "skyblue"; } var span = ((HtmlGenericControl)e.Row.Cells[2].FindControl("CustomStatus")); if (rowItem.Status == "A") { span.InnerHtml = "<span class=\"label label-sm label-success arrowed-in arrowed-in-right tooltip-success\" " + "data-rel=\"tooltip\" data-placement=\"right\" title=\"Active Status. All operation has been enabled.\">Active</span>"; } else if (rowItem.Status == "D") { span.InnerHtml = "<span class=\"label label-sm label-danger arrowed-in arrowed-in-right tooltip-error\" " + "data-rel=\"tooltip\" data-placement=\"right\" title=\"Inactive Status. All operation has been disabled.\">Inactive</span>"; } } } catch (Exception ex) { ((SiteMaster)this.Master).ShowMessage("Error", "An error occurred", ex, true); } }