or
I have a grid with three columns and I want user to enter their filter values and then click "Search Filter" button which is outside the grid.
Two columns have a textboxes for filter and the last column has a combobox with checkbox in it.
Everything works fine when the textbox columns are filtered. Problem occurs when the combobox with checkbox is selected. it returns no data found. You can see the image attached and also Client and Serverside codes.
Do let me know where am I going wrong...Any help will be appreciated.
ASPX
<telerik:RadGrid ID="rgPartnerPhone" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" DataSourceID="dsPartnerPhone" GridLines="None"Skin="Outlook" Width="100%" ShowGroupPanel="True" AutoGenerateColumns="False" PageSize="50" Height="570px" OnItemCreated="rgPartnerPhone_ItemCreated" OnPreRender="rgPartnerPhone_PreRender" ShowFooter="true"> <MasterTableView DataSourceID="dsPartnerPhone" DataKeyNames="ProductID, ProductName" PageSize="50" Width="100%" GroupLoadMode="Client" EnableNoRecordsTemplate="true"ShowHeadersWhenNoRecords="true" AllowFilteringByColumn="true" AllowMultiColumnSorting="true"EnableHeaderContextMenu="true"> <NoRecordsTemplate> <div style="color: Red; font-weight: bold"> No data found.</div> </NoRecordsTemplate> <Columns> <telerik:GridNumericColumn DataField="ProductID" DataType="System.Int32" HeaderText="ProductID" SortExpression="ProductID" UniqueName="ProductID" ShowFilterIcon="false" AutoPostBackOnFilter="false"CurrentFilterFunction="EqualTo" NumericType="Number" MaxLength="10" FilterControlWidth="60px"HeaderStyle-Width="80px" ReadOnly="true" Groupable="false" AllowFiltering="true"> </telerik:GridNumericColumn> <telerik:GridTemplateColumn DataField="ProductName" HeaderText="ProductName" AutoPostBackOnFilter="false"FilterDelay="4000" ShowFilterIcon="false" SortExpression="ProductName" UniqueName="ProductName"CurrentFilterFunction="Contains" ItemStyle-Wrap="false" FilterControlWidth="260px"HeaderStyle-Width="280px" Groupable="false" AllowFiltering="true"> <ItemTemplate> <asp:HyperLink ID="hlPName" runat="server" NavigateUrl='<%# Eval("CatalogPageLink")%>' Target="_blank" Text='<%# Eval("ProductName")%>' ToolTip="Get Catalog Details"></asp:HyperLink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="EquipmentType" HeaderText="EquipmentType" SortExpression="EquipmentType"UniqueName="EquipmentType" ShowFilterIcon="false" FilterControlWidth="140px"HeaderStyle-Width="160px" ItemStyle-Wrap="false" AllowFiltering="true"> <FilterTemplate> <telerik:RadComboBox ID="rcbEquip" runat="server" DataSourceID="dsGetEquipment"AllowCustomText="true" DataTextField="EquipmentType" DataValueField="EquipmentTypeID"Width="135px" AppendDataBoundItems="true" EmptyMessage="-- All Equipment --" HighlightTemplatedItems="true" AutoPostBack="true" TabIndex="1" Skin="Outlook"OnClientDropDownOpening="OnClientDropDownOpening" OnClientDropDownClosing="OnClientDropDownClosing"OnClientSelectedIndexChanging="OnClientSelectedIndexChanging" OnClientBlur="OnClientBlur"OnClientDropDownClosed="onDropDownClosing"> <ItemTemplate> <div onclick="stopPropagation(event);"> <asp:CheckBox runat="server" ID="cbEquipment" Text='<%# DataBinder.Eval(Container, "Text") %>' /> </div> </ItemTemplate> </telerik:RadComboBox> <asp:SqlDataSource ID="dsEquipment" runat="server" ConnectionString="<%$ ConnectionStrings:connGait %>" SelectCommand="dbo.CTsp_PPT_GetEquipmentType" SelectCommandType="StoredProcedure" /> </FilterTemplate> </telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings AllowColumnsReorder="True" AllowDragToGroup="True" ReorderColumnsOnClient="True"EnableRowHoverStyle="true" EnablePostBackOnRowClick="false" AllowKeyboardNavigation="true"ColumnsReorderMethod="Reorder"> <Resizing AllowColumnResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="True" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="true" FrozenColumnsCount="0"> </Scrolling> <ClientMessages /> </ClientSettings> <PagerStyle Mode="NextPrevNumericAndAdvanced" /> </telerik:RadGrid>protected void btnFilters_Click(object sender, EventArgs e) { GridFilteringItem item = rgPartnerPhone.MasterTableView.GetItems(GridItemType.FilteringItem)[0] as GridFilteringItem; //for ComboBox string strEquip = string.Empty; RadComboBox comborcbEquip = (RadComboBox)item.FindControl("rcbEquip"); foreach (RadComboBoxItem ritem in comborcbEquip.Items) { CheckBox checkBox = (CheckBox)ritem.FindControl("cbEquipment"); if (checkBox.Checked) { strEquip += ritem.Text + ","; } } if (!string.IsNullOrEmpty(strEquip)) strEquip = strEquip.Remove(strEquip.Length - 1); string strProductID = (item["ProductID"].Controls[0] as RadNumericTextBox).Text; string strProductName = (item["ProductName"].Controls[0] as TextBox).Text; string strEquipType = strEquip; string expression = ""; if (strProductID != "") { if (expression != "") expression += " AND "; expression += "([ProductID] = \'" + strProductID + "\')"; } if (strProductName != "") { if (expression != "") expression += " AND "; expression += "([ProductName] LIKE \'%" + strProductName + "%\')"; } if (strEquipType != "") { string[] words = strEquipType.Split(','); foreach (string citem in words) { if (expression != "") expression += " AND "; expression += "([EquipmentType] LIKE \'%" + citem + "%\')"; } } rgPartnerPhone.MasterTableView.GetColumnSafe("ProductID").CurrentFilterValue = strProductID; rgPartnerPhone.MasterTableView.GetColumnSafe("ProductName").CurrentFilterValue = strProductName; rgPartnerPhone.MasterTableView.GetColumnSafe("EquipmentType").CurrentFilterValue = strEquipType; rgPartnerPhone.MasterTableView.FilterExpression = expression; rgPartnerPhone.MasterTableView.Rebind(); }Thanks
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" Codebehind="WebUserControl.ascx.cs" ClassName="WebUserControl" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager><asp:SqlDataSource ID="GridSource" runat="server" ConnectionString="<%$ ConnectionStrings:Test%>" SelectCommand="SELECT * FROM Evt"> </asp:SqlDataSource><telerik:RadGrid ID="RadGrid1" runat="server" CellSpacing="0" DataSourceID="GridSource" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" ShowGroupPanel="True"> <ClientSettings AllowDragToGroup="True"> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> </ClientSettings> <MasterTableView> <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu></telerik:RadGrid> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class SiteMaster : System.Web.UI.MasterPage{ WebUserControl ctrl; protected void Page_Load(object sender, EventArgs e) { Button BTN1 = new Button(); BTN1.Click += new EventHandler(BTN_Click); this.MenuContent.Controls.Add(BTN1); } protected void BTN_Click(object sender, EventArgs e) { ctrl = (WebUserControl)LoadControl("~/WebUserControl.ascx"); this.MenuContent.Controls.Add(ctrl); }}<asp:Repeater ID="ResultRpt" runat="server"> <ItemTemplate> <telerik:RadCalendar Style="width: 191px; height: 123px" ID="RadCalendar1" runat="server" EnableMonthYearFastNavigation="false" AutoPostBack="true" MultiViewColumns="1" MultiViewRows="1" EnableMultiSelect="true"> </telerik:RadCalendar><telerik:RadToolTipManager Width="270px" Height="135px" Style="font-size: 11px" RelativeTo="Element" ID="RadToolTipManager1" runat="server" OffsetX="7" Position="MiddleRight" OnAjaxUpdate="RadToolTipmanager1_AjaxUpdate" Skin="Telerik" AutoCloseDelay="90000" </telerik:RadToolTipManager> </ItemTemplate> </asp:Repeater><telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadCalendar1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadCalendar1" LoadingPanelID="RadAjaxLoadingPanel1"> </telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="calMarker"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadCalendar1" LoadingPanelID="RadAjaxLoadingPanel1"> </telerik:AjaxUpdatedControl> <telerik:AjaxUpdatedControl ControlID="calMarker" LoadingPanelID="RadAjaxLoadingPanel1"> </telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> <ClientEvents OnRequestStart="RequestStart" OnResponseEnd="ResponseEnd" /> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="WebBlue" />
The calmarker control is a panel bar which is also inside the repeater its loading panel is also not working .
These was working when there was no repeater. After i put the repeater control the issue started.
Regards
Sankardeep
| using System; |
| using System.Collections.Generic; |
| using System.Linq; |
| using System.Text; |
| using System.Web; |
| using System.Xml; |
| using xxx.yyy.ASPNET.Security; |
| using xxx.yyy.Client; |
| using xxx.yyy.Client.Security; |
| using xxx.yyy.Core; |
| using Telerik.Web.UI; |
| namespace xxx.yyy.ASPNET |
| { |
| public class AuthenticatedyyyPage : yyyPageBase |
| { |
| private RadAjaxManager _radAjaxManager=null; |
| #region ~ Properties ~ |
| public RadAjaxManager AjaxManager |
| { |
| get { return _radAjaxManager; } |
| } |
| #endregion |
| protected override void OnLoad(EventArgs e) |
| { |
| // set up global AJAX Manager |
| _radAjaxManager = BuildRadAjaxManager(); |
| Form.Controls.Add(_radAjaxManager); |
| if (!ClientScript.IsClientScriptBlockRegistered(_radAjaxManager.ClientID)) |
| { |
| ClientScript.RegisterClientScriptBlock(_radAjaxManager.GetType(), _radAjaxManager.ClientID,GenerateJavascript(),true); |
| } |
| base.OnLoad(e); |
| } |
| protected virtual RadAjaxManager BuildRadAjaxManager() |
| { |
| RadAjaxManager radAjaxManager = new RadAjaxManager(); |
| radAjaxManager.ID = "radAjaxManager"; |
| return radAjaxManager; |
| } |
| private string GenerateJavascript() |
| { |
| StringBuilder sb = new StringBuilder(); |
| sb.Append("\n\nfunction migGetRadAjaxManager() {\n"); |
| sb.Append("\tvar ajaxManager=$find(\"" + _radAjaxManager.ClientID + "\");\n"); |
| sb.Append("\treturn ajaxManager;\n"); |
| sb.Append("}\n\n"); |
| return sb.ToString(); |
| } |
| } |
| } |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| AjaxManager.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(AjaxManager_AjaxRequest); |
| AjaxManager.AjaxSettings.AddAjaxSetting(btnCancel0, pnlScriptInjector); |
| } |
| AjaxManager.AjaxSettings.AddAjaxSetting(btnCancel0, pnlScriptInjector); |
| at Telerik.Web.UI.AjaxSettingsCollection.AddAjaxSetting(Control ajaxifiedControl, Control updatedControl) |
| at xxx.yyy.ASPNET.Presentation.Secure.Admin.ImportWindowsUsers.Page_Load(Object sender, EventArgs e) in c:\dev2008\yyy2\yyy_WEB\secure\admin\ImportWindowsUsers.aspx.cs:line 128 |
| at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) |
| at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) |
| at System.Web.UI.Control.OnLoad(EventArgs e) |
| at xxx.yyy.ASPNET.yyyBase.OnLoad(EventArgs e) in C:\dev2008\yyy2\xxx.yyy.ASPNET\yyyPageBase.cs:line 45 |
| at xxx.yyy.ASPNET.Authenticatedyyy.OnLoad(EventArgs e) in C:\dev2008\yyy\xxx.yyy.ASPNET\AuthenticatedyyyPage.cs:line 138 |
| at System.Web.UI.Control.LoadRecursive() |
| at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) |