or
ASPX:
<Columns>
<telerik:GridTemplateColumn HeaderStyle-Width="5px"><ItemTemplate> </ItemTemplate></telerik:GridTemplateColumn>
<telerik:GridHyperLinkColumn HeaderStyle-Width="70px" DataTextField="CustomerNumber" DataNavigateUrlFields="CustomerNumber" DataNavigateUrlFormatString="~\Common\CustomerEdit.aspx?Customer={0}" HeaderText="Cust No." SortExpression="CustomerNumber" UniqueName="CustomerNumber" />
<telerik:GridHyperLinkColumn HeaderStyle-Width="300px" DataTextField="CustomerName" DataNavigateUrlFields="CustomerNumber" DataNavigateUrlFormatString="~\Common\CustomerEdit.aspx?Customer={0}" HeaderText="Name" SortExpression="CustomerName" UniqueName="CustomerName" />
<telerik:GridBoundColumn HeaderStyle-Width="125px" DataField="Address.City" HeaderText="City" SortExpression="Address.City" UniqueName="City" />
<telerik:GridBoundColumn HeaderStyle-Width="125px" DataField="Address.State" HeaderText="State" SortExpression="Address.State" UniqueName="State" />
<telerik:GridBoundColumn HeaderStyle-Width="75px" DataField="Address.ZipCode" HeaderText="ZipCode" SortExpression="Address.ZipCode" UniqueName="ZipCode" />
<telerik:GridBoundColumn HeaderStyle-Width="55px" DataField="Status" HeaderText="Status" SortExpression="Status" UniqueName="Status" />
<telerik:GridHyperLinkColumn HeaderStyle-Width="50px" DataNavigateUrlFields="CustomerNumber" DataNavigateUrlFormatString="~\Common\UserList.aspx?Customer={0}" HeaderText="Show" Text="Users" />
<telerik:GridHyperLinkColumn HeaderStyle-Width="50px" DataNavigateUrlFields="CustomerNumber" DataNavigateUrlFormatString="~\Returns\FilingEntityList.aspx?Customer={0}" Text="Entities" />
<telerik:GridButtonColumn ButtonType="PushButton" DataTextField="Status" CommandName="CustomerRadGridUpdateStatusMenu" UniqueName="ChangeStatus" />
</Columns>
<PagerTemplate>
<vtx:GridPager ID="gridPagerControl" AddLabel="Add Customer" OnAddClicked="AddNewCustomerButton_Click" runat="server" />
</PagerTemplate>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowContextMenu="CustomerRadGridRowContextMenu"
OnCommand="CustomerRadGridUpdateStatusMenu"
/>
<Selecting AllowRowSelect="True" />
</Client
JavaScript:
// Select row prior to context menu appearing
function CustomerRadGridUpdateStatusMenu(sender, eventArgs)
{
// Get row index
if (eventArgs.get_commandName() == "CustomerRadGridUpdateStatusMenu")
{
var MasterTable = sender.get_masterTableView();
var index = eventArgs.get_commandArgument();
var row = MasterTable.get_dataItems()[index];
}
// Find row and select it
sender.set_activeRow(row.get_element());
// Fetch customer number
var columnCell = MasterTable.getCellByColumnUniqueName(row, "CustomerNumber");
$get(clientID + 'customerNumberDisplay').innerHTML = columnCell.innerText;
$get(clientID + 'customerNumberHidden').value = columnCell.innerText;
// Fetch status
columnCell = MasterTable.getCellByColumnUniqueName(row, "Status");
$get(clientID + 'status' + columnCell.innerHTML).checked = true;
$get(clientID + 'statusInactive').disabled = true;
$get(clientID + 'statusActive').disabled = false;
$get(clientID + 'statusDisabled').disabled = false;
$get(clientID + 'statusDeleted').disabled = false;
var menu = $find("<%= gridContextRadMenu.ClientID %>");
if (columnCell.innerHTML == "Inactive")
{
$get(clientID + 'statusActive').disabled = true;
$get(clientID + 'statusDisabled').disabled = true;
}
// Apply security as last option
if (!allowDelete && !allowDisable)
{
menu.findItemByValue("CS").disable();
}
else
{
if (!allowDelete)
{
$get(clientID + 'statusDeleted').disabled = true;
}
if (!allowDisable)
{
$get(clientID + 'statusDisabled').disabled = true;
}
}
// Show menu
var domEvent = eventArgs.get_domEvent();
menu.show(domEvent);
eventArgs.cancelBubble = true;
eventArgs.returnValue = false;
if (eventArgs.stopPropagation)
{
eventArgs.stopPropagation();
eventArgs.preventDefault();
}
}
<telerik:RadGrid ID="rgResources" runat="server" AutoGenerateColumns="false" ShowGroupPanel="false" OnPreRender="rgResources_PreRender1" OnColumnCreated="rgResources_ColumnCreated" OnItemCommand="rgResources_ItemCommand" GroupingEnabled="false" ShowFooter="true"> <ClientSettings> <Selecting AllowRowSelect="false"></Selecting> <Scrolling AllowScroll="true" SaveScrollPosition="true" FrozenColumnsCount="2" UseStaticHeaders="true" ScrollHeight="150px"></Scrolling> </ClientSettings> <MasterTableView DataKeyNames="Resource" CommandItemDisplay="Top" AllowSorting="false" AutoGenerateColumns="true" ShowGroupFooter="true"> <CommandItemSettings ShowExportToCsvButton="true" ShowAddNewRecordButton="false" ShowRefreshButton="false" /> <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column"> </RowIndicatorColumn> <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"> </ExpandCollapseColumn> </MasterTableView> <ExportSettings IgnorePaging="true"> <Csv FileExtension="CSV" /> </ExportSettings> <FilterMenu EnableImageSprites="False"> </FilterMenu> <ClientSettings EnableRowHoverStyle="true"> </ClientSettings></telerik:RadGrid>protected void rgResources_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e){ if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToCsvCommandName) { rgResources.MasterTableView.ExportToCSV(); }}
