This is a migrated thread and some comments may be shown as answers.

[Solved] Filtering doesn't work

3 Answers 75 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Pakorn
Top achievements
Rank 1
Pakorn asked on 26 Jan 2010, 04:09 AM
I set a AllowFilteringByColumn property to be "true" on Client-side but when I put character on filter box and choose any filtering function, it doesn't work.

Here is my Client-Side code.

<%@ Page Language="C#" MasterPageFile="Site2.Master" AutoEventWireup="true" CodeBehind="Roles.aspx.cs" 
    Inherits="TechSphere.KoolKeeper.Administrator.RolesForm" %>  
 
<%@ MasterType VirtualPath="Site2.Master" %>  
<asp:Content ID="Content1" ContentPlaceHolderID="Content" runat="server">  
 
    <script type="text/javascript">  
        function showMember(roleName) {  
            showDialog('Dialog/RoleMember.aspx?role=' + roleName);  
            return false;  
        }  
        function showPermission(roleName) {  
            showDialog('Dialog/RolePermission.aspx?role=' + roleName);  
            return false;  
        }  
    </script>  
 
    <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server">  
        <AjaxSettings>  
            <telerik:AjaxSetting AjaxControlID="grdRole">  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="grdRole" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
        </AjaxSettings>  
    </telerik:RadAjaxManagerProxy>  
    <telerik:RadGrid ID="grdRole" runat="server" AllowPaging="False" AutoGenerateColumns="False" 
        OnNeedDataSource="grdRole_NeedDataSource" PageSize="15" OnInsertCommand="grdRole_InsertCommand" 
        OnDeleteCommand="grdRole_DeleteCommand" OnItemDataBound="grdRole_ItemDataBound"   
        BorderStyle="None" GridLines="None" Width="300px" EnableEmbeddedSkins="false" AllowFilteringByColumn="true">  
        <PagerStyle Mode="NextPrevAndNumeric" />  
        <MasterTableView CommandItemDisplay="Top"  InsertItemDisplay="Top" AllowAutomaticDeletes="True" 
            InsertItemPageIndexAction="ShowItemOnCurrentPage" >  
            <CommandItemSettings AddNewRecordText="Create Role" />  
            <RowIndicatorColumn Visible="False">  
                <HeaderStyle Width="20px"></HeaderStyle>  
            </RowIndicatorColumn>  
            <ExpandCollapseColumn Visible="False" Resizable="False">  
                <HeaderStyle Width="20px"></HeaderStyle>  
            </ExpandCollapseColumn>  
            <Columns>  
                <telerik:GridBoundColumn DataField="ColumnRole" HeaderText="Role Name" UniqueName="ColumnRole">  
                    <ItemStyle Width="300px" />  
                </telerik:GridBoundColumn>  
                <telerik:GridTemplateColumn UniqueName="ColumnPermission" Visible="false">  
                    <ItemTemplate>  
                        <techsphere:RolloverButton ID="ibPermission" runat="server" SkinID="ButtonPermission" 
                            UseSubmitBehavior="false" />  
                    </ItemTemplate>  
                </telerik:GridTemplateColumn>  
                <telerik:GridTemplateColumn UniqueName="ColumnMembers" HeaderText="Member">  
                    <ItemTemplate>  
                        <techsphere:RolloverButton ID="ibUser" runat="server" SkinID="ButtonUsers" ToolTip="Members" 
                            UseSubmitBehavior="false" />  
                    </ItemTemplate>  
                </telerik:GridTemplateColumn>  
                <telerik:GridTemplateColumn UniqueName="ColumnDelete" HeaderText="Delete">  
                    <ItemTemplate>  
                        <techsphere:RolloverButton ID="ibDelete" runat="server" CommandName="Delete" SkinID="ButtonDelete" 
                            UseSubmitBehavior="true" />  
                    </ItemTemplate>  
                </telerik:GridTemplateColumn>  
            </Columns>  
            <EditFormSettings EditFormType="Template">  
                <EditColumn ButtonType="ImageButton">  
                </EditColumn>  
                <FormTemplate>  
                    <telerik:RadTextBox ID="tbRole" runat="server" EmptyMessage="Enter role name" InvalidStyleDuration="100" 
                        Width="150px" MaxLength="255" Skin="Web20" >  
                        <EmptyMessageStyle Font-Italic="True" />  
                    </telerik:RadTextBox>  
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="tbRole" 
                        ErrorMessage="*" SetFocusOnError="True"></asp:RequiredFieldValidator>  
                    <techsphere:RolloverButton ID="ibInsert" runat="server" SkinID="ButtonInsert" CommandName="PerformInsert" />  
                    <techsphere:RolloverButton ID="ibCancel" runat="server" SkinID="ButtonCancel" CausesValidation="False" 
                        CommandName="Cancel" />  
                </FormTemplate>  
            </EditFormSettings>  
            <PagerStyle Mode="NextPrevAndNumeric" PagerTextFormat="Page: {4} &amp;nbsp;items {2}-{3} of {5}." 
                PageButtonCount="5" />  
        </MasterTableView>  
        <ClientSettings>  
            <Selecting AllowRowSelect="True" />  
        </ClientSettings>  
        <FilterMenu EnableTheming="True">  
            <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>  
        </FilterMenu>  
    </telerik:RadGrid>  
 
</asp:Content>  
 

Code behind,
using System;  
using System.Web.Security;  
using Telerik.Web.UI;  
 
namespace TechSphere.KoolKeeper.Administrator  
{  
    public partial class RolesForm : BasePage  
    {  
        protected void Page_Load(object sender, EventArgs e)  
        {  
            if (!Page.IsPostBack)  
            {  
                Master.SelectedMenu("Roles");  
            }  
        }  
 
        protected void grdRole_DeleteCommand(object source, GridCommandEventArgs e)  
        {  
            string roleName = (e.Item as GridDataItem)["ColumnRole"].Text;  
            Roles.DeleteRole(roleName);  
        }  
 
        protected void grdRole_InsertCommand(object source, GridCommandEventArgs e)  
        {  
            RadTextBox tbRole = e.Item.FindControl("tbRole"as RadTextBox;  
            Roles.CreateRole(tbRole.Text);  
        }  
 
        protected void grdRole_ItemDataBound(object sender, GridItemEventArgs e)  
        {  
            GridDataItem item = e.Item as GridDataItem;  
            if (item != null)  
            {  
                string roleName = item["ColumnRole"].Text;  
                string lowerName = roleName.ToLowerInvariant();  
                RolloverButton button = item["ColumnPermission"].FindControl("ibPermission"as RolloverButton;  
                if (lowerName.Equals("administrators"))  
                {  
                    button.Visible = false;  
                }  
                else 
                {  
                    button.OnClientClick = "return showPermission('" + roleName + "');";  
                }  
 
                button = item["ColumnMembers"].FindControl("ibUser"as RolloverButton;  
                if (lowerName.Equals("everyone"))  
                {  
                    button.Visible = false;  
                }  
                else 
                {  
                    button.OnClientClick = "return showMember('" + roleName + "');";  
                }  
 
                button = item["ColumnDelete"].FindControl("ibDelete"as RolloverButton;  
                if (lowerName.Equals("administrators") || lowerName.Equals("everyone"))  
                {  
                    button.Visible = false;  
                }  
                else 
                {  
                    button.OnClientClick = string.Format("if(!confirm('Are you sure to delete role name \\'{0}\\'?')) return false;", roleName);  
                }  
            }  
        }  
 
        protected void grdRole_NeedDataSource(object source, GridNeedDataSourceEventArgs e)  
        {  
            grdRole.DataSource = Roles.GetAllRoles();  
        }  
 
    }  
}  
 

Could anyone suggest me anything wrong? I tried filtering with my another page but it works!

3 Answers, 1 is accepted

Sort by
0
Tsvetoslav
Telerik team
answered on 27 Jan 2010, 12:04 PM
Hi Pakorn,

 Which column are you trying to filter on? Please, make sure that this column has its DataField property set.

Regards,
Tsvetoslav
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Pakorn
Top achievements
Rank 1
answered on 28 Jan 2010, 04:58 AM
                <telerik:GridBoundColumn DataField="ColumnRole" HeaderText="Role Name" UniqueName="ColumnRole">  
                    <ItemStyle Width="300px" />  
                </telerik:GridBoundColumn>  


This above column...
0
Tsvetoslav
Telerik team
answered on 29 Jan 2010, 11:43 AM
Hello Pakorn,

I could not spot anything wrong with your code. Please, open up a formal support ticket and send us a small runnable test project for further investigation.

Thanks in advance.

Best wishes,
Tsvetoslav
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
Grid
Asked by
Pakorn
Top achievements
Rank 1
Answers by
Tsvetoslav
Telerik team
Pakorn
Top achievements
Rank 1
Share this question
or