- global cancelable client-side Command event which will be raised for all grid post-back commands (paging, sorting, filtering, group/ungroup, etc.). Example:
<script type="text/javascript"> |
function RadGrid1_Command(sender, args) |
{ |
alert(String.format("CommandName:{0}, CommandArgument: {1}", args.get_commandName(), args.get_commandArgument())); |
args.set_cancel(true); |
} |
</script> |
<telerik:RadGrid ID="RadGrid1" PageSize="2" Skin="Sunset" runat="server" AllowPaging="true" AllowSorting="True" AllowFilteringByColumn="true" GridLines="None"> |
<MasterTableView AllowMultiColumnSorting="true" /> |
<PagerStyle Mode="NextPrevAndNumeric" /> |
<ClientSettings> |
<ClientEvents OnCommand="RadGrid1_Command" /> |
</ClientSettings> |
</telerik:RadGrid> |
- client-side sort expressions. Example:
function RadGrid1_Command(sender, args) |
{ |
args.set_cancel(true); |
// collection of Telerik.Web.UI.GridSortExpression |
var sortExpressions = sender.get_masterTableView().get_sortExpressions(); |
// GridSortExpression properties: |
if(sortExpressions.length > 0) |
{ |
var expression = sortExpressions[0]; |
var fieldName = expression.get_fieldName(); |
var sortOrder = expression.get_sortOrder(); |
// Telerik.Web.UI.GridSortOrder (enum): |
// Telerik.Web.UI.GridSortOrder.None |
// Telerik.Web.UI.GridSortOrder.Ascending |
// Telerik.Web.UI.GridSortOrder.Descending |
} |
// toString() will create coma separated string of all expressions |
alert(sortExpressions.toString()); |
} |
- client-side filter expressions. Example:
function RadGrid1_Command(sender, args) |
{ |
args.set_cancel(true); |
// collection of Telerik.Web.UI.GridFilterExpression |
var filterExpressions = sender.get_masterTableView().get_filterExpressions(); |
// GridFilterExpression properties: |
if(filterExpressions.length > 0) |
{ |
var expression = filterExpressions[0]; |
var fieldName = expression.get_fieldName(); |
var fieldValue = expression.get_fieldValue(); |
var columnUniqueName = expression.get_columnUniqueName(); |
// enum Telerik.Web.UI.GridFilterFunction |
var filterFunction = expression.get_filterFunction(); |
/* |
Telerik.Web.UI.GridFilterFunction.prototype = |
{ |
NoFilter : 0, |
Contains : 1, |
DoesNotContain : 2, |
StartsWith : 3, |
EndsWith : 4, |
EqualTo : 5, |
NotEqualTo : 6, |
GreaterThan : 7, |
LessThan : 8, |
GreaterThanOrEqualTo : 9, |
LessThanOrEqualTo : 10, |
Between : 11, |
NotBetween : 12, |
IsEmpty : 13, |
NotIsEmpty : 14, |
IsNull : 15, |
NotIsNull : 16, |
Custom : 17 |
}; |
*/ |
// toString() will create SQL syntax representing this expression: |
var asString = expression.toString(); |
} |
// toString() will create string of all expressions with AND |
alert(filterExpressions.toString()); |
} |
- client-side properties for current page index, virtual items count and multi column sorting. Example:
// get MasterTableView |
var tableView = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); |
// get/set current page index |
tableView.set_currentPageIndex(1); |
var currentPageIndex = tableView.get_currentPageIndex(); |
// get/set virtual item count |
tableView.set_virtualItemCount(100); |
var virtualItemCount = tableView.get_virtualItemCount(); |
// toggle multi column sorting |
tableView.set_allowMultiColumnSorting(!tableView.get_allowMultiColumnSorting()); |
- client-side property for grid data source and dataBind() method. Example:
// get MasterTableView |
var tableView = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); |
// set data source |
tableView.set_dataSource(myDataSource); |
// data bind |
tableView.dataBind(); |
Enjoy!
Vladimir Enchev is Director of Engineering, Native Mobile UI & Frameworks