RadFilter problem with combobox

4 posts, 0 answers
  1. Jessy Joseph
    Jessy Joseph avatar
    34 posts
    Member since:
    Mar 2010

    Posted 19 Apr 2011 Link to this post

    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>

    Serverside code
    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


    Jessy
  2. Mira
    Admin
    Mira avatar
    1124 posts

    Posted 22 Apr 2011 Link to this post

    Hello Jessy,

    Please examine the Multi-Selection RadComboBox for filtering grid code library to see how the desired functionality can be implemented.

    I hope it helps.

    Best wishes,
    Mira
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Jessy Joseph
    Jessy Joseph avatar
    34 posts
    Member since:
    Mar 2010

    Posted 25 Apr 2011 Link to this post

    Mira,

    Thanks for the link, but can you help me how to achieve it when we click the "Search button" rather than autopost. Also in the link they have used a query but in my project I am using a stored procedure.

    Thanks in advance,

    Jessy
  5. Mira
    Admin
    Mira avatar
    1124 posts

    Posted 28 Apr 2011 Link to this post

    Hello Jessy,

    I have answered the Problem with filtering the Radgird forum thread started by you concerning the same issue.
    In order to avoid duplicate posts, I suggest that we continue the communication in it.

    Kind regards,
    Mira
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

Back to Top