Hello,
I have a RadGrid with three columns:
one gridBoundColumn with User Names;
two gridTemplateColumns with RadGrids showing things like Clients associated to that user
The problem is: When I filter the main RadGrid, the column with User Names get filtered correctly, but the gridTemplateColumns doesnt change, what means that it remains showing the same Clients of the user that was in that row before the filter be applied.
I need a way to change internal RadGrids accordingly to the user that is appearing when filtering.
Thanks in advance.
I have a RadGrid with three columns:
one gridBoundColumn with User Names;
two gridTemplateColumns with RadGrids showing things like Clients associated to that user
The problem is: When I filter the main RadGrid, the column with User Names get filtered correctly, but the gridTemplateColumns doesnt change, what means that it remains showing the same Clients of the user that was in that row before the filter be applied.
I need a way to change internal RadGrids accordingly to the user that is appearing when filtering.
Thanks in advance.
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <telerik:RadAjaxManager ID="RadAjaxManager2" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="rgUsers"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgUsers" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadWindowManager" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="ModalEditCreateUser"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgUsers" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="rbtnCreateUser"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadWindowManager" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="rtxtSearchUser"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgUsers" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div style="width: 80%; margin-left: 40px"> <table style="width: 90%; margin-left: 20px; margin-right: 100px; float: right"> <tr> <td> <br /> </td> </tr> <tr> <td style="float: left; width: 55%"> <asp:Label ID="Label1" runat="server" Text="usuários" Font-Size="Large"> </asp:Label> </td> <td style="width: 15%"> <telerik:RadComboBox ID="rcmbSortUsers" runat="server" EmptyMessage="ordenar usuários por..."> </telerik:RadComboBox> </td> <td style="width: 15%"> <telerik:RadTextBox ID="rtxtSearchUser" runat="server" EmptyMessage="procurar usuário" ClientEvents-OnKeyPress="pesquisar"> </telerik:RadTextBox><%-- <asp:Button ID="btn" runat="server" Text="Pesquisar" OnClientClick="search(this, event);"> </asp:Button>--%> </td> <td style="width: 15%;"> <telerik:RadButton ID="rbtnCreateUser" Text="criar novo usuário.." runat="server" Skin="Web20" AutoPostBack="true" OnClick="rbtnCreateUser_Click"> </telerik:RadButton> </td> </tr> <tr> <td> <br /> </td> </tr> <tr> <td colspan="4"> <telerik:RadGrid ID="rgUsers" runat="server" AutoGenerateColumns="false" EnableEmbeddedSkins="false" Skin="GridPrincipal" ItemStyle-Width="50%" AllowFilteringByColumn="true" OnItemDataBound="rgUsers_ItemDataBound" OnItemCommand="rgUsers_ItemCommand" OnDeleteCommand="rgUsers_DeleteCommand"> <MasterTableView DataKeyNames="IdUser" HeaderStyle-Font-Size="Medium" HeaderStyle-Height="30px"> <Columns> <telerik:GridBoundColumn UniqueName="UserName" HeaderText="usuários cadastrados" DataField="UserName" ItemStyle-Width="30%" ItemStyle-CssClass="nomeusuario"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn ItemStyle-VerticalAlign="Top" UniqueName="PerfilColumn" AllowFiltering="true" HeaderText="perfis assoc." ItemStyle-Width="32%"> <ItemTemplate> <telerik:RadGrid ID="rgPerfis" runat="server" AllowFilteringByColumn="true" AutoGenerateColumns="false" Skin="GridInterna" EnableEmbeddedSkins="false" OnDeleteCommand="rgPerfis_DeleteCommand"> <MasterTableView ShowHeader="false" DataKeyNames="IdPerfil" NoMasterRecordsText="Nenhum perfil associado"> <Columns> <telerik:GridButtonColumn UniqueName="btnDesassociarPerfil" ButtonType="ImageButton" CommandName="Delete" Text="Desassociar perfil" ItemStyle-HorizontalAlign="Center" ImageUrl="~/Images/ico-mini-fechar.png" ItemStyle-Width="5%"> </telerik:GridButtonColumn> <telerik:GridBoundColumn UniqueName="Descricao" DataField="Descricao" ItemStyle-CssClass="perfis" ItemStyle-Width="95%"> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <telerik:RadButton ID="btnAssociarPerfil" runat="server" Text="associar" ButtonType="LinkButton" ToolTip="Associar usuário a um perfil" Font-Bold="true" Style="margin-left: 20px; border: none;"> <Icon PrimaryIconUrl="~/Images/ico-associar.png" PrimaryIconLeft="6" PrimaryIconTop="6" /> </telerik:RadButton> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn ItemStyle-VerticalAlign="Top" UniqueName="ClienteColumn" HeaderText="filiais e clientes assoc." ItemStyle-Width="32%" DataField="IdUser"> <ItemTemplate> <telerik:RadGrid ID="rgClientes" runat="server" AutoGenerateColumns="false" Skin="GridInterna" EnableEmbeddedSkins="false" OnDeleteCommand="rgClientes_DeleteCommand"> <MasterTableView ShowHeader="false" DataKeyNames="IdClienteUsuario, IdFilial, IdUser" NoMasterRecordsText="Nenhum cliente associado"> <Columns> <telerik:GridButtonColumn UniqueName="btnDesassociarCliente" ButtonType="ImageButton" CommandName="Delete" Text="Desassociar cliente" ItemStyle-HorizontalAlign="Center" ImageUrl="~/Images/ico-mini-fechar.png" ItemStyle-Width="5%"> </telerik:GridButtonColumn> <telerik:GridBoundColumn UniqueName="FilialCodCliente" DataField="FilialCodCliente"> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <telerik:RadButton ID="btnAssociarCliente" runat="server" Text="associar" ButtonType="LinkButton" ToolTip="Associar usuário a um cliente" Font-Bold="true" Style="margin-left: 20px; border: none;"> <Icon PrimaryIconUrl="~/Images/ico-associar.png" PrimaryIconLeft="6" PrimaryIconTop="6" /> </telerik:RadButton> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridButtonColumn UniqueName="EditarColumn" HeaderText="" Text="Editar usuário" ButtonType="ImageButton" CommandName="Editar" ImageUrl="/Images/ico-editar.png" ItemStyle-Width="3%" ItemStyle-HorizontalAlign="Right"> </telerik:GridButtonColumn> <telerik:GridButtonColumn UniqueName="ApagarColumn" HeaderText="" Text="Excluir usuário" ButtonType="ImageButton" CommandName="Delete" ImageUrl="/Images/ico-apagar.png" ItemStyle-Width="3%" ItemStyle-HorizontalAlign="Right"> </telerik:GridButtonColumn> </Columns> </MasterTableView> </telerik:RadGrid> <telerik:RadWindowManager ID="RadWindowManager1" runat="server"> <Windows> <telerik:RadWindow ID="RadWindow1" Behaviors="Close" runat="server" ReloadOnShow="true" VisibleStatusbar="false" VisibleTitlebar="false" Height="50px" Width="100px" OnClientClose="OnClientclose" NavigateUrl="/Views/Cadastros/CadastroUsuario.aspx" Modal="true" BackColor="Gray"> </telerik:RadWindow> </Windows> </telerik:RadWindowManager> </td> </tr> </table> </div> <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server"> <script type="text/javascript"> //$find('<%=rgUsers.ClientID %>').get_masterTableView().hideFilterItem(); function pageLoad(sender, args) { $find('<%=rgUsers.ClientID %>').get_masterTableView().hideFilterItem(); } //Função responsável por abrir a Modal com os campos para criar um novo usuário function AbrirModal() { debugger; var oWnd = window.radopen('/Views/Cadastros/CadastroUsuario.aspx?id=-1', "ModalEditCreateUser"); } function OnClientclose(radWindow, args) { debugger; var arg = args.get_argument(); var ret = arg.retorno; if (ret != 0) { window.location.href = "/Views/Sistema/Usuarios.aspx"; } } function pesquisar(event, args) { debugger; if (args.get_keyCode() == 13) { args.set_cancel(true); } setTimeout(filtrarGrid, 100); } function filtrarGrid() { var masterTableView = $find("<%=rgUsers.ClientID%>").get_masterTableView(); var textbox = $find("<%=rtxtSearchUser.ClientID%>"); // document.getElementById("rtxtSearchUser.ClientID"); masterTableView.filter('PerfilColumn', textbox.get_value(), Telerik.Web.UI.GridFilterFunction.Contains); } </script> </telerik:RadScriptBlock></asp:Content>