<telerik:RadGrid ID="rgridUserList" runat="server" GridLines="None" OnNeedDataSource="rgridUserList_NeedDataSource" AllowSorting="true" EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" AllowFilteringByColumn="true" EnableLinqExpressions="false" OnItemCommand="rgridUserList_ItemCommand" Skin="Telerik" OnItemDataBound="rgridUserList_ItemDataBound"> <ClientSettings> <Selecting AllowRowSelect="True"></Selecting> </ClientSettings> <GroupingSettings CaseSensitive="false"></GroupingSettings> <MasterTableView DataKeyNames="UserID" CommandItemDisplay="Top" IsFilterItemExpanded="false" EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" AllowFilteringByColumn="true"> <Columns> <telerik:GridTemplateColumn HeaderText="No." UniqueName="Number" ItemStyle-CssClass="NumberColomn"> <HeaderStyle Width="30px" HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Center" /> <ItemTemplate> <asp:Label ID="lblGridNumber" runat="server" Text='<%# (rgridUserList.PageSize*rgridUserList.CurrentPageIndex)+ Container.ItemIndex + 1 %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="User Name" UniqueName="UserName" SortExpression="UserName" CurrentFilterFunction="Contains" DataField="UserName" > <HeaderStyle HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Left" /> <ItemTemplate> <asp:HyperLink ID="hlUserName" Font-Underline="true" runat="server"><%# DataBinder.Eval(Container, "DataItem.UserName") %></asp:HyperLink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Full Name" UniqueName="FullName" SortExpression="FullName" CurrentFilterFunction="Contains" DataField="FullName"> <HeaderStyle HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Left" /> <ItemTemplate> <asp:Label ID="lblFullName" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FullName") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Email" UniqueName="Email" SortExpression="Email" CurrentFilterFunction="Contains" DataField="Email"> <HeaderStyle HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Left" /> <ItemTemplate> <asp:Label ID="lblEmail" SkinID="EmailColor" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Email") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="User Group" UniqueName="UserGroupItem" SortExpression="UserGroupItem" DataField="UserGroupItem" CurrentFilterFunction="Contains" > <HeaderStyle HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Left" /> <ItemTemplate> <asp:Label ID="lblUserGroup" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.UserGroupItem") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Is Active" UniqueName="IsActive" SortExpression="IsActive" HeaderStyle-HorizontalAlign="Center" > <ItemStyle HorizontalAlign="Center" /> <ItemTemplate> <asp:CheckBox ID="cbIsActive" runat="server" Enabled="false" Checked='<%# DataBinder.Eval(Container, "DataItem.IsActive") %>' /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Created By" UniqueName="CreatedBy" SortExpression="CreatedBy" HeaderStyle-HorizontalAlign="Center" DataField="CreatedByName" CurrentFilterFunction="Contains"> <ItemStyle HorizontalAlign="Center" /> <ItemTemplate> <asp:Label ID="lblCreatedBy" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CreatedByName") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Last Access" UniqueName="LastAccess" SortExpression="LastAccess" HeaderStyle-HorizontalAlign="Center" DataField="LastAccess" CurrentFilterFunction="Contains"> <ItemStyle HorizontalAlign="Center" /> <ItemTemplate> <asp:Label ID="lblLastAccess" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LastAccess","{0:dd-MM-yyyy hh:mm tt}") %>' /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Need Approval" Visible="false" UniqueName="IsNeedApproval" HeaderStyle-HorizontalAlign="Center" SortExpression="IsNeedApproval"> <ItemStyle HorizontalAlign="Center" /> <ItemTemplate> <asp:CheckBox ID="cbIsNeedApproval" runat="server" Checked='<%# DataBinder.Eval(Container, "DataItem.IsNeedApproval") %>'> </asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Action" UniqueName="Action"> <HeaderStyle Width="100px" HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Center" /> <ItemTemplate> <asp:ImageButton ID="btnEdit" runat="server" SkinID="Edit" CommandName="Edit" Visible='<%# !(bool)DataBinder.Eval(Container, "DataItem.IsNeedApproval") %>' /> <asp:ImageButton ID="btnDelete" runat="server" SkinID="Delete" CommandName="Delete" Visible='<%# !(bool)DataBinder.Eval(Container, "DataItem.IsNeedApproval") %>' OnClientClick="javascript:return confirm('Are you sure want to delete?')" /> <asp:Label ID="lblNeedApproval" runat="server" Text='Need Approval' Visible='<%# DataBinder.Eval(Container, "DataItem.IsNeedApproval") %>' ForeColor="Red"></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <CommandItemTemplate> <telerik:RadToolBar ID="RadTBUser" runat="server" SkinID="NewAndExport" /> </CommandItemTemplate> <ExpandCollapseColumn Visible="False" Resizable="False"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <CommandItemSettings ExportToPdfText="Export to PDF" /> <RowIndicatorColumn Visible="False"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> <PagerStyle AlwaysVisible="True" Mode="NextPrevNumericAndAdvanced"></PagerStyle> </MasterTableView> <HeaderStyle HorizontalAlign="Center" /> <FilterMenu EnableImageSprites="False"> </FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"> </HeaderContextMenu> </telerik:RadGrid>
That is my code..
Scenario:
-I have 12 records ( 0.12Records.JPG)
-I try to filter (1.Search.JPG) The filter is fine.
-Then I click Search button to rebind grid's datasource (2.Search.JPG)
-The right click filter on header , the text is cleared. But, the records not showing all records. I try to type something, the filter is not working.
-After I click Search Button (again) the filter is fine again.
What inside button search is:
private void BindGrid() { try { sessUserCollection = null; rgridUserList.Rebind(); } catch (Exception Ex) { throw Ex; } }
So, the problem is when I click once the search button (rebind grid) the filter is crippled.
I need to click it twice, so the database hitted twice.
Any ways to solve this problem?
Am I missing something?