New to Telerik UI for ASP.NET AJAXStart a free 30-day trial

ClientEvents Class Members

There are several ways to attach handler to a client-side event of RadGrid.

Attach command string to event

ASP.NET
<telerik:RadGrid ID="RadGrid1" runat="server">
    <ClientSettings>
        <ClientEvents OnGridCreating="alert('Creating RadGrid')" />
    </ClientSettings>
</telerik:RadGrid>

Attach function to event

ASP.NET
<telerik:RadGrid ID="RadGrid1" runat="server">
    <ClientSettings>
        <ClientEvents OnGridCreating="GridCreating" />
    </ClientSettings>
</telerik:RadGrid>
JavaScript
<script type="text/javascript">
    function GridCreating(sender, eventArgs){
        alert("Creating grid with ClientID: " + sender.get_id());
    }
</script>		

Attach handlers dynamically

ASP.NET
<telerik:RadGrid ID="RadGrid1" runat="server">
</telerik:RadGrid>
JavaScript
// Load handler for the Web Application
function f() {
    // Get reference to the Grid
    var grid = $find('<%= RadGrid1.ClientID %>');
    // Attach the event
    grid.add_eventName(eventHandler);  

    // Sys.Application.remove_load(f);
}
// Attached Load event listener to the Web Application
Sys.Application.add_load(f);  

// RadGrid event's handler
function eventHandler(sender, args) {
   //...
}

Here eventName is formed from the names in the table below by removing On and starting with a small letter. For example, attaching an event handler for OnRowContextMenu will look in the following way:

ASP.NET
<telerik:RadGrid ID="RadGrid1" runat="server">
    <ClientSettings>
        <ClientEvents OnGridCreating="GridCreating" />
    </ClientSettings>
</telerik:RadGrid>
JavaScript
function GridCreating(sender, args) {
    var grid = sender;
    grid.add_rowContextMenu(onRowContextMenuHandler);
}
function onRowContextMenuHandler(sender, args) {
    // execute logic
}

Please note that the grid and its structure should be created when the event handlers are attached. That is why you cannot attach handlers for the OnXXXCreating and OnXXXCreated events dynamically.

Detach events dynamically

In case event handlers were attached to RadGrid but they are not needed at some point, they can be detached dynamically. For example, having the "OnRowClick" attached in the markup like this:

ASP.NET
<telerik:RadGrid ID="RadGrid1" runat="server">
    <ClientSettings>
        <ClientEvents OnRowClick="rowClickHandler" OnGridCreated="gridCreatedHandler" />
    </ClientSettings>
</telerik:RadGrid>

Detaching the "OnRowClick" event once the Grid finished rendering

JavaScript
// function to be executed when clicking on a row
function rowClickHandler(sender, args) {
    // logic for row click
}

// function to be executed when the Grid has finished rendering
function gridCreatedHandler(sender, args) {
    var grid = sender;
    //detatch RowClick event handler, so that the function "rowClickHandler" will not be executed when clickin on a row
    grid.remove_rowClick(rowClickHandler);
}

Inside each RadGrid client-side event handler the first argument passed (sender) will point to the grid client object. The second argument (eventArgs) will hold reference properties/objects dependable on the respective client event. They are listed in the separate help topics linked in the next paragraph.

OnActiveRowChangingString
OnActiveRowChangedString
OnCellDeselectingString
OnCellDeselectedString
OnCellSelectingString
OnCellSelectedString
OnColumnClickString
OnColumnContextMenuString
OnColumnCreatingString
OnColumnCreatedString
OnColumnDblClickString
OnColumnDestroyingString
OnColumnHidingString
OnColumnHiddenString
OnColumnMouseOutString
OnColumnMouseOverString
OnColumnMovingToLeftString
OnColumnMovedToLeftString
OnColumnMovingToRightString
OnColumnMovedToRightString
OnColumnResizingString
OnColumnResizedString
OnColumnShowingString
OnColumnShownString
OnColumnSwappingString
OnColumnSwappedString
OnCommandString
OnDataBindingString , meaningful only when RadGrid is bound client-side
OnDataBindingFailedString , meaningful only when RadGrid is bound client-side
OnDataBoundString , meaningful only when RadGrid is bound client-side
OnDataSourceResolvedString , meaningful only when RadGrid is bound client-side
OnFilterMenuShowingString
OnGridCreatingString
OnGridCreatedString
OnGridDestroyingString
OnGroupCollapsingString, meaningful only when GroupLoadMode="Client"
OnGroupCollapsedString, meaningful only when GroupLoadMode="Client"
OnGroupExpandingString, meaningful only when GroupLoadMode="Client"
OnGroupExpandedString, meaningful only when GroupLoadMode="Client"
OnHeaderMenuShowingString
OnHierarchyCollapsingString, meaningful only when HierarchyLoadMode="Client"
OnHierarchyCollapsedString, meaningful only when HierarchyLoadMode="Client"
OnHierarchyExpandingString, meaningful only when HierarchyLoadMode="Client"
OnHierarchyExpandedString, meaningful only when HierarchyLoadMode="Client"
** OnKeyPress **String
OnMasterTableViewCreatingString
OnMasterTableViewCreatedString
OnPopUpShowingString
OnRowClickString
OnRowContextMenuString
OnRowCreatingString
OnRowCreatedString
OnRowDataBoundString
OnRowDblClickString
OnRowDeletingString , meaningful only when GridClientDeleteColumn is used for deleting
OnRowDeletedString , meaningful only when GridClientDeleteColumn is used for deleting
OnRowDeselectingString
OnRowDeselectedString
OnRowDestroyingString
OnRowDraggingString
OnRowDragStartedString
OnRowDroppingString
OnRowDroppedString
OnRowHidingString
OnRowHiddenString
OnRowMouseOutString
OnRowMouseOverString
OnRowResizingString
OnRowResizedString
OnRowSelectingString
OnRowSelectedString
OnRowShowingString
OnRowShownString
OnTableCreatingString
OnTableCreatedString
OnTableDestroyingString
OnScrollString
OnUserActionString

When the ClientIDMode property of the RadGrid control is set to Static , all row specific client-side events would not fire.

Not finding the help you need?
Contact Support