2010-01-11 7 views
0

У меня есть следующий метод, который добавляет новый столбец в Telerik RadGridView:Как получить контекстное меню для работы в столбце 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

Я не могу говорить о сетке Telerik, но с сеткой Infragistics вы должны приложить контекстное меню к сетке, а затем использовать местоположение мыши, чтобы определить, что пользователь щелкнул правой кнопкой мыши в сетке. В сетке Infragistics есть некоторые достойные вспомогательные методы для облегчения тестирования.