通过为RadGridView
启用类似Excel的过滤,所有列都会有一个过滤器按钮。我需要为某些特定列禁用Excel-Like filtering
并隐藏该列的excel过滤按钮。这可能吗?
答案 0 :(得分:1)
尝试访问RadGridView
的子项并将Visibility
属性更改为隐藏:
int columnIndex = 1;
((Telerik.WinControls.UI.GridFilterButtonElement)(this.radGridView1.GetChildAt(0).GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(columnIndex ).GetChildAt(0))).Visibility = Telerik.WinControls.ElementVisibility.Hidden;
经过测试:Telerik 2015
,visual studio 2013
记住:在初始化类似构造函数的Form / GridView之前,执行 NOT 使用此命令。
例如我在表单加载时使用它:
private void RadForm1_Load(object sender, EventArgs e)
{
int columnIndex = 1;
((Telerik.WinControls.UI.GridFilterButtonElement)(this.radGridView1.GetChildAt(0).GetChildAt(0).GetChildAt(2).GetChildAt(0).GetChildAt(0).GetChildAt(2).GetChildAt(1).GetChildAt(columnIndex).GetChildAt(0))).Visibility = Telerik.WinControls.ElementVisibility.Hidden;
}
下载示例project here。
答案 1 :(得分:1)
我刚刚找到了使用RadControlSpy
的解决方案,为了隐藏类似excel的过滤按钮,我应该像这样管理ViewCellFormatting
事件:
private void gridShop_ViewCellFormatting(object sender, CellFormattingEventArgs e)
{
if (e.CellElement is GridHeaderCellElement && e.Column.Name == "IDCol")
(e.CellElement as GridHeaderCellElement).FilterButton.Visibility = ElementVisibility.Collapsed;
}
答案 2 :(得分:0)
在当前版本中,有一个列属性 AllowFiltering ,您可以将其设置为true或false。
this.RadGridView1.Columns["MeetingNumber"].AllowFiltering = false;
https://docs.telerik.com/devtools/winforms/gridview/filtering/excel-like-filtering
向下滚动到"启用类似Excel的过滤"描述