ASPxClientTreeList.ContextMenu Event
Enables you to display a context menu.
Declaration
ContextMenu: ASPxClientEvent<ASPxClientTreeListContextMenuEventHandler<ASPxClientTreeList>>
Event Data
The ContextMenu event's data class is ASPxClientTreeListContextMenuEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
cancel | Gets or sets whether to invoke the browser’s context menu. |
htmlEvent | Gets a DHTML event object that relates to the processed event. |
objectKey | Gets a value that identifies the right-clicked object. |
objectType | Identifies which tree list element has been right-clicked. |
Remarks
The ContextMenu event is raised when an end-user has right-clicked within an ASPxTreeList, and enables you to invoke a context menu. The event parameter provides the following properties:
objectType
Identifies which tree list element (‘Header’ or ‘Node’) has been right-clicked.
objectKey
Returns a key value that identifies the clicked node. If a column header has been right-clicked, this property returns the column’s index.
htmlEvent
Gets a DHTML event object that relates to the processed event.
cancel
Specifies whether to invoke the browser’s context menu.
Example
This example demonstrates how to display a context menu. When an end-user right-clicks within the ASPxTreeList, the client-side ASPxClientTreeList.ContextMenu
event is fired. In this example, the context menu is invoked when a node is right-clicked.
The image below shows the result:
<dx:ASPxTreeList ID="ASPxTreeList1" runat="server" AutoGenerateColumns="False"
ClientInstanceName="clientTreeList" CssFilePath="~/App_Themes/Soft Orange/{0}/styles.css"
CssPostfix="Soft_Orange" DataSourceID="AccessDataSource1" KeyFieldName="ID"
ParentFieldName="ParentID" Width="360px">
<ClientSideEvents ContextMenu="function(s, e) {
if (e.objectType != 'Node') return;
clientPopupMenu.ShowAtPos(ASPxClientUtils.GetEventX(e.htmlEvent), ASPxClientUtils.GetEventY(e.htmlEvent));
}" />
</dx:ASPxTreeList>
<dx:ASPxPopupMenu ID="ASPxPopupMenu1" runat="server"
ClientInstanceName="clientPopupMenu"
CssFilePath="~/App_Themes/Soft Orange/{0}/styles.css"
CssPostfix="Soft_Orange" GutterWidth="0px"
ImageFolder="~/App_Themes/Soft Orange/{0}/" ItemSpacing="1px">
<Items>
<dx:MenuItem Name="miCollapseAll" Text="Collapse All">
</dx:MenuItem>
<dx:MenuItem Name="miExpandAll" Text="Expand All">
</dx:MenuItem>
</Items>
<ClientSideEvents ItemClick="function(s, e) {
if (e.item.name == 'miExpandAll') {
clientTreeList.ExpandAll();
return;
}
if (e.item.name == 'miCollapseAll') {
clientTreeList.CollapseAll();
return;
}
}" />
</dx:ASPxPopupMenu>