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

Filtering By ListTextField for GridDropDownColumn does not work

3 Answers 272 Views
Grid
This is a migrated thread and some comments may be shown as answers.
William
Top achievements
Rank 1
William asked on 28 May 2009, 12:28 PM
Hi

I followed the link http://www.telerik.com/help/aspnet-ajax/grdfilteringbylisttextfieldforgriddropdowncolumn.html to try to filter a drop down column as below:

                <telerik:GridDropDownColumn UniqueName="LocationID" ListTextField="LocationName"
                    AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false"
                    ListValueField="LocationID" HeaderText="Location" DataField="LocationID" ReadOnly="true">
                </telerik:GridDropDownColumn>
                <telerik:GridBoundColumn DataField="LocationName" HeaderText="LocationName" SortExpression="LocationName"
                    UniqueName="LocationName" Display="false">
                </telerik:GridBoundColumn>

and have the item command event handler as below:
        protected void RadGridUsers_ItemCommand(object source, GridCommandEventArgs e)
        {
            if (e.CommandName == RadGrid.FilterCommandName)
            {
                Pair command = (Pair)e.CommandArgument;
                if (command.Second.ToString() == "LocationID")
                {
                    e.Canceled = true;
                    GridFilteringItem filter = (GridFilteringItem)e.Item;
                    ((filter["LocationName"].Controls[0]) as TextBox).Text = ((filter["LocationID"].Controls[0]) as TextBox).Text;
                    command.Second = "LocationName";
                    filter.FireCommandEvent("Filter", new Pair(command.First, "LocationName"));
                }
            }
        }

The only difference is that I have not got a declared data source but binding drop down column by code:
 

        protected void RadGridUsers_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem && !e.Item.IsInEditMode)
            {
                GridDataItem item = (GridDataItem)e.Item;
                Literal litrl = (Literal)item["LocationID"].Controls[0];

                CommonDataService commonDataService = new CommonDataService();
                object dataBindingResult = DataBinder.Eval(item.DataItem, "LocationID");
                if (dataBindingResult != null)
                {
                    litrl.Text = commonDataService.LocationGetById(Int32.Parse(dataBindingResult.ToString())).LocationName;
                }
            }
        }

When I try to filter Location column, it always brings back all records.

Cheers

William

3 Answers, 1 is accepted

Sort by
0
Pavlina
Telerik team
answered on 01 Jun 2009, 11:50 AM
Hi William,

To avoid duplicate posts we will continue our communication in the other support post that you have opened on the matter.
Note that filtering by ListTextField is working only with declarative data source.
Please find attached a simple runnable application which handles the desired functionality. Give it a try and let me know if it works for you or if I am leaving something out.

Greetings,
Pavlina
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Velmurugan
Top achievements
Rank 1
answered on 10 Nov 2011, 12:36 PM
Hi pavlina,

   i am using filter in my task.It contain FACULTYCODE,FACULTYNAME,DEPATMENTNAME,COLLEGENAME,ACTIVEFLAG,FACULTYTYPE.
here both are filtered in radgrid except DEPARTMENTNAME....i have search much more ideas through internet. plz help me...

this is my code ...
   
        <body>
    <form id="form1" runat="server">
    <div> <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> </div>  
      <div>
     <telerik:RadAjaxManager ID="ajaxradmanager" runat="server" >
          <AjaxSettings>
              <telerik:AjaxSetting AjaxControlID="RadGrid1">
              <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                        <telerik:AjaxUpdatedControl ControlID="RadWindowManager1" />
                    </UpdatedControls>
              </telerik:AjaxSetting> </AjaxSettings </telerik:RadAjaxManager>
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />
        <telerik:RadGrid id="RadGrid1" runat="server" AllowFilteringByColumn="true"  Skin="Office2007" Width="100%" OnDeleteCommand="RadGrid1_DeleteCommand"
                OnUpdateCommand="RadGrid1_UpdateCommand" OnNeedDataSource="RadGrid1_NeedDataSource"
                OnInsertCommand="RadGrid1_InsertCommand" ShowStatusBar="True" GridLines="Vertical"
                AutoGenerateColumns="False" AllowPaging="True" AllowSorting="true" PageSize="10" OnItemDataBound="RadGrid1_ItemDataBound" OnPreRender="RadGrid1_PreRender" OnItemCreated="RadGrid1_ItemCreated" OnItemCommand="RadGrid1_ItemCommand" >
             <GroupingSettings CaseSensitive="false" />
                <mastertableview commanditemdisplay="Top" width="100%" AutoGenerateColumns="false" TableLayout="Auto"  editmode="InPlace" DataKeyNames="FACULTYCODE" ShowFooter="true" AllowFilteringByColumn="True">
                    <NoRecordsTemplate>No records to show</NoRecordsTemplate>
            <Columns>   
                <telerik:GridBoundColumn HeaderText="FACULTY CODE" UniqueName="FACULTYCODE ColumnEditorID="GTxtColumnEditFACULTYCODE" DataField="FACULTYCODE" > </telerik:GridBoundColumn>         
                <telerik:GridBoundColumn DataField="FACULTYNAME" HeaderText="FACULTY NAME " UniqueName="FACULTYNAME" ColumnEditorID="GTxtColumnEditFACULTYNAME" >  </telerik:GridBoundColumn>
                    <telerik:GridDropDownColumn  HeaderText="DEPARTMENT NAME" UniqueName="BRANCHCODE" ColumnEditorID="GDDListColumnEditordeparmentname" DropDownControlType="RadComboBox"  DataField="BRANCHCODE" ListTextField="DEPARTMENTNAME" ListValueField="BRANCHCODE" DataSourceID="sqlDataSource2" > </telerik:GridDropDownColumn>
 
                <telerik:GridDropDownColumn  HeaderText="COLLEGE NAME"   UniqueName="COLLEGECODE" ColumnEditorID="GDDListColumnEditorCOLLEGENAME" DataField="COLLEGECODE" ListTextField="COLLEGENAME" ListValueField="COLLEGECODE" DataSourceID="sqlDataSource1"    ></telerik:GridDropDownColumn>
            <telerik:GridDropDownColumn  HeaderText="ACTIVE FLAG" UniqueName="ACTIVEFLAG" ColumnEditorID="GDDListColumnEditorACTIVEFLAG" DataField="ACTIVEFLAG" ListTextField="ACTIVEFLAG" ListValueField="ACTIVEFLAG" DataSourceID="sqlDataSource5"  >  </telerik:GridDropDownColumn>                
                <telerik:GridDropDownColumn HeaderText="FACULTY TYPE" SortExpression="FACULTYTYPE" ColumnEditorID="GridDropDownListf_type" DataField="FACULTYTYPE"  UniqueName="FACULTYTYPE"  ListTextField="FACULTYTYPE" ListValueField="FACULTYTYPE" DataSourceID="sqlDataSource3" DropDownControlType="RadComboBox" AllowSorting="true" 
</telerik:GridDropDownColumn>    
                    
                <telerik:GridEditCommandColumn ButtonType="ImageButton" HeaderText="EDIT">
                    <ItemStyle CssClass="MyImageButton" /></telerik:GridEditCommandColumn>             
                <telerik:GridButtonColumn ConfirmTitle="Delete" HeaderText="DELETE" ButtonType="ImageButton" ConfirmDialogType="RadWindow" CommandName="Delete" Text="Delete" ConfirmText="Are you sure that you want to delete this record?" UniqueName="DeleteColumn" >
                     </telerik:GridButtonColumn> </Columns>                   
            <EditFormSettings>
                <EditColumn UniqueName="EditCommandColumn1"></EditColumn></EditFormSettings>       
         </mastertableview> </telerik:RadGrid>

          <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:StudentConnectionString %>"
  SelectCommand="SELECT [COLLEGECODE],[COLLEGENAME] FROM [COLLEGEMASTER ]" >   </asp:SqlDataSource>
          <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:StudentConnectionString %>"
         SelectCommand="SELECT [DEPARTMENTCODE] as BRANCHCODE,[DEPARTMENTNAME] FROM [DEPARTMENTMASTER]" >    </asp:SqlDataSource>
        <asp:SqlDataSource ID="sqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:StudentConnectionString %>"
         SelectCommand="SELECT 'Full Time' AS FACULTYTYPE UNION ALL SELECT 'Part Time' AS FACULTYTYPE"  >   </asp:SqlDataSource> 
       <asp:SqlDataSource ID="sqlDataSource5" runat="server" ConnectionString="<%$ ConnectionStrings:StudentConnectionString %>"
         SelectCommand="SELECT 'A' AS ACTIVEFLAG UNION ALL SELECT 'I' AS ACTIVEFLAG"   >     </asp:SqlDataSource>  
   
                   <telerik:GridTextBoxColumnEditor ID="GTxtColumnEditFACULTYCODE" runat="server" TextBoxStyle-Width="75px" />
                    <telerik:GridTextBoxColumnEditor ID="GTxtColumnEditFACULTYNAME" runat="server" TextBoxStyle-Width="75px" />
                  <telerik:GridDropDownListColumnEditor ID="GDDListColumnEditorCOLLEGENAME" runat="server" DropDownStyle-Width="150px" />
                    <telerik:GridDropDownListColumnEditor ID="GDDListColumnEditordeparmentname" runat="server" DropDownStyle-Width="150px" />
                  <telerik:GridDropDownListColumnEditor ID="GDDownListColumnEditorACTIVEFLAG" runat="server" DropDownStyle-Width="150px"/>
                     <telerik:GridDropDownListColumnEditor ID="GridDropDownListf_type" runat="server" DropDownStyle-Width="150px" />                   
        </div>
 </form>
</body>

plz help me pavlina....
0
Pavlina
Telerik team
answered on 15 Nov 2011, 04:29 PM
Hello Velmurugan,

Please go through the following help article and let me know if it helps to resolve this problem:
http://www.telerik.com/help/aspnet-ajax/grid-filtering-by-listtextfield-for-griddropdowncolumn.html

Kind regards,
Pavlina
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
Grid
Asked by
William
Top achievements
Rank 1
Answers by
Pavlina
Telerik team
Velmurugan
Top achievements
Rank 1
Share this question
or