or
<asp:Content ID="cntHead" runat="server" ContentPlaceHolderID="head"> <link href="../CSS/style.css" rel="stylesheet" type="text/css" /> <style type="text/css"> div.RadToolBar .rtbItem { float: left !important; } .RadGrid .rgRow td, .RadGrid .rgAltRow td, .RadGrid .rgEditRow td, .RadGrid .rgFooter td { padding-top: 2px !important; padding-bottom: 2px !important; } </style> <script type="text/javascript" language="javascript"> function onToolBarClientButtonClicking(sender, args) { var button = args.get_item(); if (button.get_commandName() == getLabel('Delete')) { OpenConfirm(); } else if (button.get_commandName() == getLabel('New')) { var oWnd = $find('ctl00_ContentPlaceHolder1_rdWUserGroup'); oWnd.show(); oWnd.setSize(470, 350); oWnd.SetTitle(getLabel('CreateNewGroup')); oWnd.setUrl('UserGroupPopUp.aspx?type=New'); oWnd.center(); } else if (button.get_commandName() == getLabel('NewAD')) { var oWnd = $find('ctl00_ContentPlaceHolder1_rdWUserGroup'); oWnd.show(); oWnd.setSize(470, 350); oWnd.SetTitle(getLabel('CreateNewGroup')); oWnd.setUrl('UserGroupPopUp.aspx?type=NewAD'); oWnd.center(); } else if (button.get_commandName() == getLabel('Edit')) { Edit('Button', 0); } else if (button.get_commandName() == getLabel('Copy')) { Copy('Button', 0); } } function Copy(control, rowIndex) { $find('ctl00_ContentPlaceHolder1_RadAjaxManager1').ajaxRequest("Copy"); } function Edit(control, rowIndex) { //debugger; var radGrid = $find("ctl00_ContentPlaceHolder1_rgGroups"); switch (control) { case 'Grid': break; case 'Button': if (radGrid.get_selectedItems()[0] != null) { rowIndex = radGrid.get_selectedItems()[0]._itemIndexHierarchical; } else rowIndex = '0'; break; } //document.getElementById('ctl00_ContentPlaceHolder1_hdnRowIndex').value = rowIndex; var MasterTable = radGrid.get_masterTableView(); var GroupName = MasterTable.get_dataItems()[parseInt(rowIndex)].findElement("hdnGroupName").value; var safeGroupName = escape(GroupName); safeGroupName = safeGroupName.replace(/\+/g, '%2B'); var GroupID = MasterTable.get_dataItems()[parseInt(rowIndex)].findElement("hdnGroupId").value; //var oWnd = $find("<%= rdWUserGroup.ClientID %>"); var oWnd = $find('ctl00_ContentPlaceHolder1_rdWUserGroup'); oWnd.show(); oWnd.setSize(470, 350); oWnd.SetTitle(getLabel('EditGroup')); oWnd.center(); oWnd.setUrl('UserGroupPopUp.aspx?type=Edit&GroupName=' + safeGroupName + '&GroupID=' + GroupID); } function OnClientClose(oWnd, args) { //debugger; //* argument has 3 value when it Saves or Updates in Pop Up. It is returned on click of Cancel Button.Rebind Grid if arg is 3 *// arg = oWnd.argument; if (arg == "3" || arg == "2") { //document.getElementById('ctl00_ContentPlaceHolder1_btnBindUserGroups').click(); $find("<%=RadAjaxManager1.ClientID %>").ajaxRequest("Rebind"); oWnd.argument = ""; } else { RowSelected(null); oWnd.argument = ""; } } function RowSelected(rowObject) { var length = $find('ctl00_ContentPlaceHolder1_rgGroups').get_selectedItems().length; var radGrid = $get("ctl00_ContentPlaceHolder1_rgGroups"); var radToolBar = $telerik.findControl(radGrid, "rtbGroups"); var newButton = radToolBar.get_items().getItem(0); var newADButton = radToolBar.get_items().getItem(1); var deleteButton = radToolBar.get_items().getItem(2); var editButton = radToolBar.get_items().getItem(3); var copyButton = radToolBar.get_items().getItem(4); var hdnDomainCount = document.getElementById("ctl00_ContentPlaceHolder1_hdnDomainCount"); switch (parseInt(length)) { case 0: newButton.set_enabled(true); if (hdnDomainCount.value != "0") { newADButton.set_enabled(true); } deleteButton.set_enabled(false); editButton.set_enabled(false); copyButton.set_enabled(false); break; case 1: newButton.set_enabled(false); newADButton.set_enabled(false); deleteButton.set_enabled(true); editButton.set_enabled(true); copyButton.set_enabled(true); break; case 2: newButton.set_enabled(false); newADButton.set_enabled(false); deleteButton.set_enabled(true); editButton.set_enabled(false); copyButton.set_enabled(false); break; } } function pageLoad() { var hdngrdPage = $get("<%= hdngridPaging.ClientID %>"); if (hdngrdPage.value == 1) { $telerik.$('.rgPagePrev')[0].title = ''; $telerik.$('.rgPageFirst')[0].title = ''; $telerik.$('.rgPagePrev')[0].disabled = 'true'; $telerik.$('.rgPageFirst')[0].disabled = 'true'; } else if (hdngrdPage.value == 2) { $telerik.$('.rgPageNext')[0].title = ''; $telerik.$('.rgPageLast')[0].title = ''; $telerik.$('.rgPageNext')[0].disabled = 'true'; $telerik.$('.rgPageLast')[0].disabled = 'true'; } else if (hdngrdPage.value == 3) { $telerik.$('.rgPagePrev')[0].title = ''; $telerik.$('.rgPageFirst')[0].title = ''; $telerik.$('.rgPageNext')[0].title = ''; $telerik.$('.rgPageLast')[0].title = ''; $telerik.$('.rgPagePrev')[0].disabled = 'true'; $telerik.$('.rgPageFirst')[0].disabled = 'true'; $telerik.$('.rgPageNext')[0].disabled = 'true'; $telerik.$('.rgPageLast')[0].disabled = 'true'; } document.getElementById("ctl00_ContentPlaceHolder1_btnBindUserGroups").style.display = 'none'; //document.getElementById("ctl00_ContentPlaceHolder1_btnDeleteUserGroups").style.display = 'none'; var height = document.getElementById("ctl00_ContentPlaceHolder1_hdnHeight"); //var pane = document.getElementById("ctl00_RightContenePane"); document.getElementById("RAD_SPLITTER_PANE_CONTENT_ctl00_RightContenePane").style.height = height.value + "px"; // debugger; // var radGrid = $find("ctl00_ContentPlaceHolder1_rgGroups"); // var MasterTable = radGrid.get_masterTableView(); //pane.style.height = height.value + "px"; var grid = $find("ctl00_ContentPlaceHolder1_rgGroups"); var length = grid.get_masterTableView()._columnsInternal.length; for (i = 0; i < length - 1; i++) { var uniqueName = grid.get_masterTableView()._columnsInternal[i].get_uniqueName(); getCookieGrid(i, uniqueName, grid); } } function ColumnResize(sender, args) { changeWidth(sender, args); } function OpenConfirm() { Telerik.Web.UI.RadWindowUtils.Localization["OK"] = getLabel("Yes"); //"Yes"; Telerik.Web.UI.RadWindowUtils.Localization["Cancel"] = getLabel("No"); //"No"; radconfirm(getLabel('DeleteConfirm'), confirmCallBackFn, 330, 100, null, getLabel("StarQueryWeb")); Telerik.Web.UI.RadWindowUtils.Localization["OK"] = getLabel("OK"); //"OK"; Telerik.Web.UI.RadWindowUtils.Localization["Cancel"] = getLabel("CancelWindow"); //"Cancel"; return false; } function confirmCallBackFn(arg) { if (arg) { //document.getElementById("ctl00_ContentPlaceHolder1_btnDeleteUserGroups").click(); $find('ctl00_ContentPlaceHolder1_RadAjaxManager1').ajaxRequest("Delete"); } else { return false; } } function BeforeCloseEditPage(radWindow, args) { //debugger; //alert("hi"); if (radWindow.argument == "1") { //* argument has 1 value when it changes(text change ,Dropdown change) in Pop Up. It is returned on click of Close Button.Ask Confirmation if arg = 1.value is set in the respective change events(javascript) *// args.set_cancel(true); var title = getLabel("StarQueryWeb"); Telerik.Web.UI.RadWindowUtils.Localization["OK"] = getLabel("Yes"); //"Yes"; Telerik.Web.UI.RadWindowUtils.Localization["Cancel"] = getLabel("No"); //"No"; radconfirm(getLabel("SaveChanges"), confirmSaveChangesCallBackFn, 330, 100, null, title) Telerik.Web.UI.RadWindowUtils.Localization["OK"] = getLabel("OK"); //"OK"; Telerik.Web.UI.RadWindowUtils.Localization["Cancel"] = getLabel("CancelWindow"); //"Cancel"; } else { //* argument has 2 value when it Updates(click on Save Button in Edit Mode) in Pop Up. Rebind the grid if arg = 2 value is set in validate() *// if (radWindow.argument == "2") { document.getElementById('ctl00_ContentPlaceHolder1_btnBindUserGroups').click(); } else { args.set_cancel(false); } } } function confirmSaveChangesCallBackFn(arg) { if (arg) { document.location.href = document.location.href; } else { } } function UserGroupsHelp(radWindow) { var TitleBar = radWindow.GetTitlebar(); var parent = TitleBar.parentNode; var oUL = parent.getElementsByTagName('UL')[0]; if (!(oUL.firstChild.id == "helpbuttonID")) // Check if the element is already added { // If not - create and add the custom button oUL.style.width = "50px"; var oLI = document.createElement("LI"); oLI.id = "helpbuttonID" var A = document.createElement("A"); oLI.appendChild(A); A.className = "helpbutton"; A.style.cursor = "hand"; A.href = "javascript:void(0)"; A.title = "Help"; A.click = callBackFunction1; A.onmousedown = callBackFunction1; oUL.insertBefore(oLI, oUL.firstChild); } } function callBackFunction1() { var lnk = document.getElementById("ctl00_ContentPlaceHolder1_UserGroupPopUpHelpLnk"); window.open(lnk.value); return false; } </script></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true"> </asp:ToolkitScriptManager> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgGroups" LoadingPanelID="RadAjaxLoadingPanel1"/> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> </telerik:RadAjaxLoadingPanel> <asp:UpdatePanel ID="uplGroups" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional" OnLoad="UpdatePanel_OnLoad"> <ContentTemplate> <div id="rightside"> <telerik:RadGrid ID="rgGroups" runat="server" AllowPaging="True" Width="100%" AllowMultiRowSelection="True" GridLines="None" OnPageIndexChanged="rgGroups_PageIndexChanged" OnItemCreated="rgGroups_ItemCreated" OnItemDataBound="rgGroups_ItemDataBound" OnNeedDataSource="rgGroups_NeedDataSource" AllowSorting="true" OnSortCommand="rgGroups_SortCommand" OnPageSizeChanged="rgGroups_PageSizeChanged" Culture="<%$ Resources:Culture %>"> <%-- OnItemEvent="rgGroups_ItemEvent"--%> <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true" /> <ItemStyle Wrap="false" /> <HeaderStyle Wrap="false" /> <ClientSettings EnableRowHoverStyle="true" Resizing-AllowColumnResize="true" Resizing-EnableRealTimeResize="true"> <%-- <Scrolling AllowScroll="true" UseStaticHeaders="true" />--%> <Selecting AllowRowSelect="true" /> <ClientEvents OnRowSelected="RowSelected" OnRowDeselected="RowSelected" OnColumnResized="ColumnResize"></ClientEvents> </ClientSettings> <SortingSettings EnableSkinSortStyles="false" /> <MasterTableView AutoGenerateColumns="false" CommandItemDisplay="Top" AllowNaturalSort="false"> <SortExpressions> <telerik:GridSortExpression FieldName="GroupName" SortOrder="Ascending"></telerik:GridSortExpression> </SortExpressions> <CommandItemTemplate> <telerik:RadToolBar ID="rtbGroups" runat="server" OnClientButtonClicked="onToolBarClientButtonClicking" Height="26px" Width="100%"> <Items> <telerik:RadToolBarButton Text="<%$ Resources:New %>" CommandName="<%$ Resources:New %>" ImageUrl="~/Images/NewEnable2.png" Enabled='<%# rgGroups.EditIndexes.Count == 0 %>'> </telerik:RadToolBarButton> <telerik:RadToolBarButton Text="<%$ Resources:NewAD %>" CommandName="<%$ Resources:NewAD %>" ImageUrl="~/Images/NewEnable2.png" Enabled='<%# rgGroups.EditIndexes.Count == 0 %>' Value="NewAD"> </telerik:RadToolBarButton> <telerik:RadToolBarButton Text="<%$ Resources:Delete %>" CommandName="<%$ Resources:Delete %>" ImageUrl="~/Images/imgDelBtnEnable.png" Enabled='<%# rgGroups.EditIndexes.Count > 0 %>'> </telerik:RadToolBarButton> <telerik:RadToolBarButton Text="<%$ Resources:Edit %>" CommandName="<%$ Resources:Edit %>" ImageUrl="~/Images/imgEditBtnEnable.png" Enabled='<%# rgGroups.EditIndexes.Count > 0 && rgGroups.EditIndexes.Count == 1%>'> </telerik:RadToolBarButton> <telerik:RadToolBarButton Text="<%$ Resources:Copy %>" CommandName="<%$ Resources:Copy %>" ImageUrl="~/Images/imgCopyBtnEnable.png" Enabled='<%# rgGroups.EditIndexes.Count > 0 && rgGroups.EditIndexes.Count == 1%>'> </telerik:RadToolBarButton> <telerik:RadToolBarButton CssClass="rightAligned"> <ItemTemplate> <table style="background-color: White;" cellpadding="0" cellspacing="0"> <tr> <td valign="middle" style="width: 20px;" align="center"> <asp:Image ID="imgSearch" runat="server" ImageUrl="~/Images/Search-icon3.png" /> </td> <td> <telerik:RadTextBox ID="txtsearchusers" runat="server" AutoPostBack="true" MaxLength="20" OnTextChanged="txtsearchusers_TextChanged" EmptyMessage="<%$ Resources:EnterToSearch %>" Width="200px" CssClass="txtSearch"> </telerik:RadTextBox> </td> </tr> </table> </ItemTemplate> </telerik:RadToolBarButton> </Items> </telerik:RadToolBar> </CommandItemTemplate> <Columns> <telerik:GridClientSelectColumn HeaderStyle-Width="35px" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" Resizable="false"> </telerik:GridClientSelectColumn> <telerik:GridTemplateColumn UniqueName="GroupName" HeaderText="<%$ Resources:GroupName%>" ItemStyle-Width="25%" HeaderStyle-Width="25%" FooterStyle-Width="25%" SortExpression="GroupName" ShowSortIcon="true"> <ItemTemplate> <asp:LinkButton ID="lnkGroupName" runat="server" Text='<%# Eval("GroupName") %>' Font-Underline="true"></asp:LinkButton> <asp:HiddenField ID="hdnGroupName" runat="server" Value='<%# Eval("GroupName") %>' /> </ItemTemplate> <ItemStyle Wrap="false" /> <HeaderStyle Wrap="false" /> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="GroupType" HeaderText="<%$ Resources:GroupType %>" UniqueName="GroupType" HeaderStyle-Width="88px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"> <ItemStyle Wrap="false" /> <HeaderStyle Wrap="false" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Description" HeaderText="<%$ Resources:Description %>" UniqueName="Description" ItemStyle-Width="25%" > <ItemStyle Wrap="false" /> <HeaderStyle Wrap="false" /> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="<%$ Resources:UsersinGroup%>" UniqueName="UsersInGroup" HeaderStyle-HorizontalAlign="Left" Resizable="false"> <ItemTemplate> <asp:Label ID="lblUsersinGroup" runat="server"></asp:Label> <telerik:RadToolTip ID="rtooltipUsersinGroup" runat="server" TargetControlID="lblUsersinGroup" RelativeTo="Element" Position="BottomCenter" EnableShadow="true" Height="30px" Width="120px"> </telerik:RadToolTip> <asp:HiddenField ID="hdnGroupId" runat="server" Value='<%#Eval("GroupId")%>' /> </ItemTemplate> <ItemStyle Wrap="false" /> <HeaderStyle Wrap="false" /> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid> </div> <script type="text/javascript"> removeClass('ctl00_ContentPlaceHolder1_rgGroups_ctl00_ctl02_ctl00_rtbGroups'); </script> <asp:Label ID="lblSearchText" runat="server" Visible="false"></asp:Label> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnBindUserGroups" EventName="Click" /> <%--<asp:AsyncPostBackTrigger ControlID="btnDeleteUserGroups" EventName="Click" />--%> </Triggers> </asp:UpdatePanel> <asp:UpdatePanel ID="upHeight" runat="server"> <ContentTemplate> <asp:HiddenField ID="hdngridPaging" runat="server" /> <asp:HiddenField ID="hdnHeight" runat="server" /> </ContentTemplate> </asp:UpdatePanel> <asp:HiddenField ID="hdnDomainCount" runat="server" /> <asp:HiddenField ID="hdnRowIndex" runat="server" /> <asp:HiddenField ID="hdnEditGroupId" runat="server" /> <asp:HiddenField ID="UserGroupPopUpHelpLnk" runat="server" Value="<%$ Resources:UserGroupPopUpHelpPath %>" /> <asp:Button ID="btnBindUserGroups" runat="server" OnClick="btnBindUserGroups_Click" /> <%--<asp:Button ID="btnDeleteUserGroups" runat="server" OnClick="btnDeleteUserGroups_Click"/>--%> <script type="text/javascript" language="javascript"> Telerik.Web.UI.RadWindowUtils.Localization = { "Close": getLabel("CloseWindow"), "OK": getLabel("OK"), "Cancel": getLabel("CancelWindow") }; </script> <telerik:RadWindowManager ID="rdWMUserGroup" runat="server" VisibleOnPageLoad="false" KeepInScreenBounds="true" Modal="true" OnClientClose="OnClientClose" VisibleStatusbar="false" ShowContentDuringLoad="false"> <Windows> <telerik:RadWindow runat="server" ID="rdWUserGroup" AutoSize="true" Behaviors="Move,Close,Resize" OnClientBeforeClose="BeforeCloseEditPage" OnClientShow="UserGroupsHelp" ReloadOnShow="true" IconUrl="../Images/userPerm.png"> </telerik:RadWindow> </Windows> </telerik:RadWindowManager></asp:Content>public partial class UserGroups : SQWebBasePage { int TotalItemCount = 0; static string sWebUrl = string.Empty; protected void Page_Load(object sender, EventArgs e) { AuthenticateUser(); init_js_culture_label(); sWebUrl = init_getActiveDirectoryXmlFilePath(); if (!IsPostBack) { List<ADProviderKeys> lstADProvider = ADProviderSettings.GetADProviderList(); hdnDomainCount.Value = lstADProvider.Count.ToString(); ViewState["PageLoad"] = "1"; SQWUser objUser = SQWUserList.GetByName(Session["UserName"].ToString()); string pageSize =GetPageSize(objUser, "UserGroups"); if (pageSize == "All") // To show all records in the grid { pageSize = GetTotalRecords(); } rgGroups.PageSize = pageSize == "0" ? 10 : Convert.ToInt32(pageSize); BindGrid(); ViewState["PageLoad"] = ""; objUser = null; } Label lblPageTitle = (Label)Master.FindControl("MainSplitter").FindControl("RightContenePane").FindControl("lblPageTitle"); lblPageTitle.Text = (string)GetLocalResourceObject("Title"); // This code is to access the help file according to current content page. HiddenField helplnk = (HiddenField)Page.Master.FindControl("HelpLink"); helplnk.Value = getLocalRessourceObjectForJS("UserGroupsHelpPath").ToString(); SQWebNET.MasterPages.MasterPage oMasterPage = (SQWebNET.MasterPages.MasterPage)Page.Master; oMasterPage.PageName = "UserGroups"; } #region This Method will be autheticated on every PageLoad to check the Session protected void AuthenticateUser() { if (Session["UserName"] == null || Convert.ToString(Session["UserName"]) == string.Empty) { Response.Redirect("~/Security/LoginPage.aspx"); } if (Convert.ToString(Session["LoggedInAs"]) == "" || Convert.ToString(Session["LoggedInAs"]) == "ReportManager") { Server.Transfer("~/Security/Error.aspx?code=page"); } } #endregion //protected void txtsearchusers_TextChanged(object sender, EventArgs e) //{ // BindGrid(); //} public void BindGrid() { string sFilter = lblSearchText.Text.ToString().Trim(); if (sFilter != string.Empty) { rgGroups.DataSource = SQWebNetClasses.SQWUserGroupList.SearchByName(sFilter); } else { rgGroups.DataSource = SQWebNetClasses.SQWUserGroupList.GetGroupList(); } rgGroups.DataBind(); if (Convert.ToString(ViewState["PageLoad"]) != "1" || rgGroups.PageSize == 10) { SetHeightGrid(rgGroups.PageSize); } } protected void SetHeightGrid(int pageSize) { SQWUser objUser = SQWUserList.GetByName(Session["UserName"].ToString()); string oPagesize = GetPageSize(objUser, "UserGroups");//SQWUserList.GetPageSize(objUser, "UserGroups"); string sFilter = lblSearchText.Text.Trim(); int gridTotalCount = Convert.ToInt32(GetTotalRecords()); if (oPagesize == "All") { pageSize = gridTotalCount; } int heightToolbar = 35; int footer = 40; int gridHeight = (gridTotalCount < pageSize) ? (gridTotalCount * 25) : (pageSize * 25); gridHeight = gridHeight + heightToolbar + 30 + footer; hdnHeight.Value = gridHeight.ToString(); objUser = null; } //protected void rgGroups_ItemEvent(object sender, GridItemEventArgs e) //{ // if (e.EventInfo is GridInitializePagerItem) // { // TotalItemCount = (e.EventInfo as GridInitializePagerItem).PagingManager.DataSourceCount; // } //} protected void rgGroups_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; TableCell cellGroupName = item["GroupName"]; LinkButton lnkGroupName = (LinkButton)cellGroupName.FindControl("lnkGroupName"); lnkGroupName.Attributes.Add("onclick", "return Edit('Grid','" + e.Item.ItemIndex.ToString() + "');"); TableCell cellUsersInGroup = item["UsersInGroup"]; HiddenField hdnGroupId = (HiddenField)cellUsersInGroup.FindControl("hdnGroupId"); Label lblUsersinGroup = (Label)cellUsersInGroup.FindControl("lblUsersinGroup"); RadToolTip rtooltipUsersinGroup = (RadToolTip)cellUsersInGroup.FindControl("rtooltipUsersinGroup"); Guid groupID = new Guid(hdnGroupId.Value); string List = ""; string formattedList = ""; int count = 0; if (groupID != Guid.Empty) { List<SQWUser> lstUsers = SQWUserList.GetAllByGroup(groupID); foreach (SQWUser ug in lstUsers) { count++; if (List == string.Empty) { List = ug.UserName; formattedList = " " + ug.UserName; } else { if (count <= 10) { List += "," + ug.UserName; formattedList += "<br/> " + ug.UserName; } if (count == 11) { List += "..."; } if (count > 10 && count <= 50) { formattedList += "<br/> " + ug.UserName; } if (count > 50) { formattedList += "<br/> ..."; break; } } } } lblUsersinGroup.Text = List; rtooltipUsersinGroup.Text = formattedList; TableCell cellGroupType = item["GroupType"]; if (cellGroupType.Text.Trim() == "1") { cellGroupType.Text = "SQ"; } else if (cellGroupType.Text.Trim() == "0") { cellGroupType.Text = "AD"; } } else if (e.Item is GridCommandItem) { GridCommandItem item = (GridCommandItem)e.Item; RadTextBox rdTextBox = (RadTextBox)item.Controls[0].Controls[1].Controls[5].FindControl("txtsearchusers"); rdTextBox.Text = lblSearchText.Text; List<ADProviderKeys> lstADProvider = ADProviderSettings.GetADProviderList(); RadToolBar rtoolUserList = (RadToolBar)item.FindControl("rtbGroups"); RadToolBarButton rbtn = (RadToolBarButton)rtoolUserList.FindItemByValue("NewAD"); if (lstADProvider.Count == 0) { rbtn.Enabled = false; } else { rbtn.Enabled = true; } } } protected void rgGroups_PageIndexChanged(object sender, GridPageChangedEventArgs e) { rgGroups.CurrentPageIndex = e.NewPageIndex; BindGrid(); } protected void rgGroups_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { /* BindGrid() is not called here because Datbind does not work in NeedDataSource Event*/ // string sFilter = txtsearchusers.Text.ToString().Trim(); string sFilter = lblSearchText.Text.ToString().Trim(); if (sFilter != string.Empty) { rgGroups.DataSource = SQWebNetClasses.SQWUserGroupList.SearchByName(sFilter); } else { rgGroups.DataSource = SQWebNetClasses.SQWUserGroupList.GetGroupList(); } } protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e) { if (e.Argument == "Rebind") { // BindGrid(); } else if (e.Argument == "Delete") { DeleteGroups(); //BindGrid(); } else if (e.Argument == "Copy") { CopyGroups(); } // BindGrid(); rgGroups.Rebind(); } protected override void init_js_culture_label() { // Fill the array of culture label to cal in javascript by the javascript:getLabel(key) string[] labels = { "CreateNewGroup", "New", "Edit", "Delete", "Copy", "EditGroup", "DeleteConfirm", "StarQueryWeb", "SaveChanges", "NewAD", "OK", "CancelWindow", "CloseWindow", "Yes","No" }; aJsPagelabel = labels; // Call the base class. base.init_js_culture_label(); } //protected void btnDeleteUserGroups_Click(object sender, EventArgs e) //{ // DeleteGroups(); // BindGrid(); //} protected void CopyGroups() { SQWUser objUser = SQWUserList.GetByName(Session["UserName"].ToString()); foreach (GridItem grd in rgGroups.SelectedItems) { SQWUserGroup group = (SQWUserGroup)grd.DataItem; HiddenField h = (HiddenField)grd.FindControl("hdnGroupId"); Guid groupId; Guid.TryParse(h.Value, out groupId); LinkButton lnkUserName = (LinkButton)grd.FindControl("lnkGroupName"); string sUserName = lnkUserName.Text; if (sUserName.Trim() != string.Empty) { group = SQWUserGroupList.GetByName(sUserName); string newGroupName = GetCopyGroupName(group.GroupName); SQWUserGroup objGroup = new SQWUserGroup(); objGroup.GroupId = Guid.NewGuid(); objGroup.GroupName = newGroupName; objGroup.GroupType = (int)SQWebNetClasses.Utility.UserGroupType.StarQuery;//group.GroupType; duplicated group shud be SQ group objGroup.Description = group.Description; objGroup.ADDomain = group.ADDomain; SQWUserGroupList.AddGroup(objGroup); //List<SQWUserGroup> lstCurrentGroups = SQWUsersGroupsMappings.GetGroupsForUser(group.GroupId); List<SQWUser> lstUsers = SQWUserList.GetAllByGroup(groupId); List<SQWReportFile> lstReports = SQWUserGroupReportsMappings.GetAllByGroup(groupId); foreach (SQWUser user in lstUsers) { //SQWUser oUserGroup = SQWUserList.GetByName(user.UserName); SQWUsersGroupsMappings.AddUserGroupMapping(user.UserID, objGroup.GroupId); // For User-Group-Reports Mapping // foreach (SQWReportFile objuserName in lstReports) { SQWUsersReportsMappings.AddUserReportMapping(user.UserID, objuserName.ReportID, true); } // *End* // } List<SQWUserGroupMapping> lstUserGroupMappings = SQWUsersGroupsMappings.GetUsersForGroup(groupId); foreach (SQWReportFile reports in lstReports) { //SQWReportFile objReportGroup = SQWReportFileList.GetByName(reports.ReportName); SQWUserGroupReportsMappings.AddUserGroupReportMapping(reports.ReportID, objGroup.GroupId); //// For User-Group-Reports Mapping // //foreach (SQWUserGroupMapping objSQWUserGroupMapping in lstUserGroupMappings) //{ // SQWUsersReportsMappings.AddUserReportMapping(objSQWUserGroupMapping.UserId, reports.ReportID, true); //} //// *End* // } } } alert(getLocalRessourceObjectForJS("MsgCopyReport").ToString()); //alert("Group has been copied successfully."); //Response.Redirect("UserGroups.aspx"); } protected string GetCopyGroupName(string oldGroupName) { List<string> existingNames = new List<string>(); //existingNames = SQWReportFileList.GetAnalystFileList(); foreach (SQWUserGroup col in SQWUserGroupList.GetGroupList()) existingNames.Add(col.GroupName); return SQManager.GetNewValidName(oldGroupName, existingNames.ToArray(), '_', false); } protected void DeleteGroups() { foreach (GridItem grd in rgGroups.SelectedItems) { HiddenField h = (HiddenField)grd.FindControl("hdnGroupId"); Guid groupid; Guid.TryParse(h.Value, out groupid); // Code to delete User from table SQWebNetClasses.SQWUserGroupList.DeleteGroup(groupid); } alert(getLocalRessourceObjectForJS("DeletedMesg").ToString()); //Response.Redirect("UserGroups.aspx"); } protected void alert(string message) { string title = getLocalRessourceObjectForJS("StarQueryWeb"); string radalertscript = "<script language='javascript'>function f(){radalert('" + message + "', 330, 100,'" + title + "'); Sys.Application.remove_load(f);}; Sys.Application.add_load(f);</script>"; ScriptManager.RegisterStartupScript(this, this.GetType(), "radalert", radalertscript, false); } protected void btnBindUserGroups_Click(object sender, EventArgs e) { BindGrid(); } protected void txtsearchusers_TextChanged(object sender, EventArgs e) { RadInputControl rdInput = ((Telerik.Web.UI.RadInputControl)(sender)); lblSearchText.Text = rdInput.Text.Trim(); BindGrid(); RadTextBox rdTextbox = (RadTextBox)(rgGroups.MasterTableView.GetItems(GridItemType.CommandItem)[0].Controls[0].Controls[1].Controls[5].FindControl("txtsearchusers")); rdTextbox.Text = rdInput.Text.Trim(); } protected void rgGroups_SortCommand(object source, Telerik.Web.UI.GridSortCommandEventArgs e) { //Apply custom sorting GridSortExpression sortExpr = new GridSortExpression(); switch (e.OldSortOrder) { case GridSortOrder.None: sortExpr.FieldName = e.SortExpression; sortExpr.SortOrder = GridSortOrder.Descending; e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr); break; case GridSortOrder.Ascending: sortExpr.FieldName = e.SortExpression; sortExpr.SortOrder = rgGroups.MasterTableView.AllowNaturalSort ? GridSortOrder.None : GridSortOrder.Descending; e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr); break; case GridSortOrder.Descending: sortExpr.FieldName = e.SortExpression; sortExpr.SortOrder = GridSortOrder.Ascending; e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr); break; } e.Canceled = true; rgGroups.Rebind(); } protected virtual void UpdatePanel_OnLoad(object sender, EventArgs e) { if (Page.IsPostBack) { System.Web.UI.ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AlertBox", "removeClass('ctl00_ContentPlaceHolder1_rgGroups_ctl00_ctl02_ctl00_rtbGroups');", true); } } protected void rgGroups_PageSizeChanged(object sender, GridPageSizeChangedEventArgs e) { string PageLoad = Convert.ToString(ViewState["PageLoad"]); if (PageLoad != "1") { SQWPage sqwPage = new SQWPage(); sqwPage.PageName = "UserGroups"; SQWUser objUser = SQWUserList.GetByName(Session["UserName"].ToString()); RadComboBox rcb = (RadComboBox)Session["PageSizeComboBox"]; if (rcb != null) { if (rcb.Text == getLocalRessourceObjectForJS("All").ToString()) { sqwPage.PageSize = "All"; } else { sqwPage.PageSize = e.NewPageSize.ToString(); } } else { sqwPage.PageSize = e.NewPageSize.ToString(); } if (objUser != null) { SQWUserList.EditPageSizeSettings(objUser, sqwPage); } objUser = null; Session["superadminPageSizeText_UserGroups"] = sqwPage.PageSize; } Session["superadminPageSizeValue_UserGroups"] = e.NewPageSize; // has put in the session since when new User is added or Edited . it comes back from pop up page and current page gets refreshed so Viewstate is not used. SetHeightGrid(e.NewPageSize); } private string GetPageSize(SQWUser objUser, string page) { string oPagesize = "10"; if (Convert.ToString(Session["LoggedInAs"]) != "superadmin" && objUser != null) { oPagesize = SQWUserList.GetPageSize(objUser, "UserGroups"); } else { if (Convert.ToString(Session["superadminPageSizeValue_UserGroups"]) == string.Empty) { Session["superadminPageSizeValue_UserGroups"] = oPagesize; } else { oPagesize = Convert.ToString(Session["superadminPageSizeValue_UserGroups"]); if (Convert.ToString(Session["superadminPageSizeText_UserGroups"]) == "All") { oPagesize = "All"; } } } return oPagesize; } protected string GetTotalRecords() { string pageSize = "10"; string sFilter = lblSearchText.Text.Trim(); if (sFilter != string.Empty) { pageSize = SQWebNetClasses.SQWUserGroupList.SearchByName(sFilter).Count.ToString(); } else { pageSize = SQWebNetClasses.SQWUserGroupList.GetGroupList().Count.ToString(); } return pageSize; } protected void rgGroups_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridPagerItem) { GridPagerItem pagerItem = (GridPagerItem)e.Item; hdngridPaging.Value = "0"; if (pagerItem.Paging.IsFirstPage) { if (pagerItem.Paging.PageCount == 1 || pagerItem.Paging.PageCount == 0) { hdngridPaging.Value = "3"; } else { hdngridPaging.Value = "1"; } } else if (pagerItem.Paging.IsLastPage) { hdngridPaging.Value = "2"; } SQWUser objUser = SQWUserList.GetByName(Session["UserName"].ToString()); //string pageSize = SQWUserList.GetPageSize(objUser, "UserGroups"); string pageSize = GetPageSize(objUser, "UserGroups"); RadComboBox cb = (e.Item as GridPagerItem).FindControl("PageSizeComboBox") as RadComboBox; cb.Items.Clear(); RadComboBoxItem item = new RadComboBoxItem("10", "10"); item.Attributes.Add("ownerTableViewId", rgGroups.MasterTableView.ClientID); if (cb.Items.FindItemByValue("10") == null) cb.Items.Add(item); item = new RadComboBoxItem("20", "20"); item.Attributes.Add("ownerTableViewId", rgGroups.MasterTableView.ClientID); if (cb.Items.FindItemByValue("20") == null) cb.Items.Add(item); item = new RadComboBoxItem("50", "50"); item.Attributes.Add("ownerTableViewId", rgGroups.MasterTableView.ClientID); if (cb.Items.FindItemByValue("50") == null) cb.Items.Add(item); item = new RadComboBoxItem("100", "100"); item.Attributes.Add("ownerTableViewId", rgGroups.MasterTableView.ClientID); if (cb.Items.FindItemByValue("100") == null) cb.Items.Add(item); item = new RadComboBoxItem("200", "200"); item.Attributes.Add("ownerTableViewId", rgGroups.MasterTableView.ClientID); if (cb.Items.FindItemByValue("200") == null) cb.Items.Add(item); TotalItemCount = Convert.ToInt32(GetTotalRecords()); if (cb.Items.FindItemByValue(TotalItemCount.ToString()) == null) { item = new RadComboBoxItem(getLocalRessourceObjectForJS("All").ToString(), TotalItemCount.ToString()); } else { int total = TotalItemCount + 1; item = new RadComboBoxItem(getLocalRessourceObjectForJS("All").ToString(), total.ToString()); } item.Attributes.Add("ownerTableViewId", rgGroups.MasterTableView.ClientID); cb.Items.Add(item); cb.Items.Sort(new PagerRadComboBoxItemComparer()); //cb.FindItemByText(e.Item.OwnerTableView.PageSize.ToString()).Selected = true; if (cb.Text == getLocalRessourceObjectForJS("All").ToString() || pageSize == "All" || Convert.ToString(Session["superadminPageSizeText_UserGroups"]) == "All")//if (pageSize == "total") { cb.FindItemByText(getLocalRessourceObjectForJS("All").ToString()).Selected = true; } else { cb.FindItemByValue(e.Item.OwnerTableView.PageSize.ToString()).Selected = true; } Session["PageSizeComboBox"] = cb; objUser = null; } } }MasterTableView.EnableColumnsViewStatewas set to false.

<SortingSettings EnableSkinSortStyles="false" />