Click here to Skip to main content
15,888,286 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a radgrid with multiple column. 3 columns i have set sortable and all the other columns as non sortable. When i right click on any column, Headercontextmenu items are displayed.
for each column it is showing Sort Ascending and Sort descending as options. I want it to appear only for Sortable columns.
If i set EnableHeaderContextMenu = false then contextMenu is hidden for each column.
Please let me know if there is any way i can disable Context menu for non sortable column or remove Ascending and descending option from Context menu for non sortable columns

Thanks
Posted
Comments
Maciej Los 3-Jun-13 16:06pm    
You need to detect on which column click event has occurred ;)
devcode007 3-Jun-13 16:40pm    
thanks for reply. Even before clicking we should be able to delete ascending/descending option from context menu for each column which are non sortable.
Maciej Los 4-Jun-13 1:57am    
Is it a question or is it a statement?
Sunasara Imdadhusen 4-Jun-13 6:06am    
You have to search on telerik web site

This might be resolve your issue, specifing SortExpression property to empty string should fix the issue. Like this..
XML
<tr:GridTemplateColumn HeaderText="ColumnHeader" DataField="yourDataField" SortExpression="" >

Thanks
 
Share this answer
 
have a hidden variable NonSortableColumns.
Populate this hidden variable on codebehind with pipe '|' seperated with all the columns that you dont want to Sort.

bind this for Radgrid's client side event RadGrid1.ClientSettings.ClientEvents.OnHeaderMenuShowing = "HeaderMenuShowing";

On aspx file, implement
JavaScript
<pre lang="Javascript">
function HeaderMenuShowing(sender, eventArgs) {
C#
var NonSortableColumns = document.getElementById('NonSortableColumns').value.split('|');
               for (var i = 0; i < NonSortableColumns.length; i++) {
                   if (NonSortableColumns[i] != '' && eventArgs.get_gridColumn().get_uniqueName() == NonSortableColumns[i]) {
                       //hides the  sorting options from the header context menu of the column which are set are non-sortable
                     for (var j = 0; j < eventArgs.get_menu().get_items().get_count(); j++)
                     {
                       var sortOption = eventArgs.get_menu().get_items().getItem(j).get_element().innerHTML.toLowerCase();
                       if((sortOption.search('ascending') >0) || (sortOption.search('descending') > 0) || (sortOption.search('clear sorting') > 0))
                           eventArgs.get_menu().get_items().getItem(j).get_element().style.display = "none";
                     }
                       break;

                   }
                   else
                   {
                       eventArgs.get_menu().get_items().getItem(0).get_element().style.display = "block";
                       eventArgs.get_menu().get_items().getItem(1).get_element().style.display = "block";
                       eventArgs.get_menu().get_items().getItem(2).get_element().style.display = "block";
                   }
               }


}


Basically have hidden the sort options for Non Sortable columns
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900