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();
}
}