修改Radgrid中每列的HeaderContextMenu项 [英] modifying HeaderContextMenu items for each column in Radgrid

查看:131
本文介绍了修改Radgrid中每列的HeaderContextMenu项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含多列的radgrid。 3列我设置了sortable,所有其他列都是不可排序的。当我右键单击任何列时,会显示Headercontextmenu项目。

显示每列显示Ascending排序和按降序排序。我希望它只出现在可排序列中。

如果我设置EnableHeaderContextMenu = false,则每个列都隐藏了contextMenu。

如果有任何办法,请告诉我可以禁用不可排序列的上下文菜单或从上下文菜单中删除不可排序列的升序和降序选项



谢谢

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

推荐答案

这可能会解决您的问题,将 SortExpression 属性指定为字符串可以解决问题。像这样..

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



谢谢


Thanks


有一个隐藏变量NonSortableColumns。

在代码隐藏中填充此隐藏变量,使用管道|分隔所有您不想排序的列。



绑定此Radgrid的客户端事件RadGrid1.ClientSettings.ClientEvents.OnHeaderMenuShowing =HeaderMenuShowing;



在aspx文件上,实现
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
<pre lang="Javascript">

function HeaderMenuShowing(sender,eventArgs){

function HeaderMenuShowing(sender, eventArgs) {

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";
                   }
               }





}





基本上隐藏了Non Sortable列的排序选项



}


Basically have hidden the sort options for Non Sortable columns


这篇关于修改Radgrid中每列的HeaderContextMenu项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆