我有以下方法将新列添加到Telerik RadGridView:
private void CreateNewColumn(FieldDescriptor fd, uint fieldno) {
fieldGrid.Columns.Add(new GridViewDataColumn() {
UniqueName = fd.fieldName,
Header = fd.displayName,
DataMemberBinding = new Binding("Fields[" + fieldno + "]"),
ContextMenu = new ContextMenu() {
Tag = fieldno,
Items = {
new MenuItem() {
Header = "Field Properties",
Command = Commands.FieldProperties,
CommandBindings = { new CommandBinding(Commands.FieldProperties, FieldProperties_Execute) }
},
new MenuItem() {
Header = "Delete Field",
Command = Commands.DeleteField,
CommandBindings = { new CommandBinding(Commands.DeleteField, DeleteField_Execute) }
}
}
}
});
}
我遇到的问题是当我右键单击网格上的任何位置时,上下文菜单永远不会出现。如果我将上下文菜单直接绑定到网格,即
fieldGrid.ContextMenu = new ContextMenu() { ...
然后显示上下文菜单,但我无法确定用户右键单击哪一列。有没有人获得上下文菜单来处理单个列或列标题?
答案 0 :(得分:0)
我不能代表Telerik的网格,但是使用Infragistics网格,您可以将上下文菜单附加到网格,然后使用鼠标位置来确定用户在网格中右键单击的内容。 Infragistics网格有一些不错的辅助方法来促进命中测试。
答案 1 :(得分:0)