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
>