or
<
ClientSettings
>
<
ClientEvents
OnCommand
=
"GridCommand"
/>
</
ClientSettings
>
protected
void
RadGrid1_ItemCommand (
object
sender, GridCommandEventArgs e)
{
if
(e.CommandName ==
"RemoveLogin"
)
{
GridDataItem item = (GridDataItem)e.Item;
int
deleteKey = Convert.ToInt32 (item[
"KeyID"
].Text);
Label1.Text = item[
"KeyID"
].Text +
"<br/>"
+ item[
"LoginID"
].Text;
//RadGrid1.Rebind ();
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager1"
runat
=
"server"
/>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
function GridCommand(sender, eventArgs)
{
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
div
>
<
telerik:RadGrid
ID
=
"RadGrid1"
AutoGenerateColumns
=
"False"
runat
=
"server"
AllowSorting
=
"True"
CellSpacing
=
"0"
GridLines
=
"None"
AllowPaging
=
"True"
PageSize
=
"20"
OnDetailTableDataBind
=
"RadGrid1_DetailTableDataBind"
OnItemCommand
=
"RadGrid1_ItemCommand"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
>
<
SortingSettings
EnableSkinSortStyles
=
"false"
/>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
ClientEvents
OnCommand
=
"GridCommand"
/>
</
ClientSettings
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
DataKeyNames
=
"MemberID"
ClientDataKeyNames
=
"MemberID"
AllowFilteringByColumn
=
"True"
>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"KeyDetail"
Width
=
"100%"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"KeyID"
ReadOnly
=
"true"
HeaderText
=
"Login ID"
UniqueName
=
"KeyID"
AllowFiltering
=
"false"
/>
<
telerik:GridBoundColumn
DataField
=
"LoginID"
ReadOnly
=
"true"
HeaderText
=
"Login"
UniqueName
=
"LoginID"
AllowFiltering
=
"false"
/>
<
telerik:GridBoundColumn
DataField
=
"LoginSID"
ReadOnly
=
"true"
HeaderText
=
"Encrypted SID"
UniqueName
=
"LoginSID"
AllowFiltering
=
"false"
/>
<
telerik:GridButtonColumn
UniqueName
=
"RemoveLogin"
ButtonType
=
"PushButton"
HeaderText
=
""
CommandName
=
"RemoveLogin"
Text
=
"Remove"
/>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"FirstName"
ReadOnly
=
"true"
HeaderText
=
"First Name"
UniqueName
=
"FirstName"
ShowFilterIcon
=
"false"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"Contains"
/>
<
telerik:GridBoundColumn
DataField
=
"LastName"
ReadOnly
=
"true"
HeaderText
=
"Last Name"
UniqueName
=
"LastName"
ShowFilterIcon
=
"false"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"Contains"
/>
<
telerik:GridButtonColumn
UniqueName
=
"EditLink"
ButtonType
=
"PushButton"
HeaderText
=
"Edit User"
CommandName
=
"EditUser"
Text
=
"Edit"
/>
<
telerik:GridButtonColumn
UniqueName
=
"ViewLog"
ButtonType
=
"PushButton"
HeaderText
=
"View Log"
CommandName
=
"ViewLog"
Text
=
"Log"
/>
</
Columns
>
<
PagerStyle
Mode
=
"NextPrevNumericAndAdvanced"
AlwaysVisible
=
"true"
/>
<
SortExpressions
>
<
telerik:GridSortExpression
FieldName
=
"userActive"
SortOrder
=
"Descending"
/>
</
SortExpressions
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
p
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
"Message"
></
asp:Label
>
</
p
>
</
div
>
</
form
>
</
body
>
</
html
>
using
System;
using
System.Data;
using
Telerik.Web.UI;
public
partial
class
Default : System.Web.UI.Page
{
protected
void
Page_Load (
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
DataTable masterTable =
new
DataTable ();
masterTable.Columns.Add (
new
DataColumn (
"FirstName"
, Type.GetType (
"System.String"
)));
masterTable.Columns.Add (
new
DataColumn (
"LastName"
, Type.GetType (
"System.String"
)));
masterTable.Columns.Add (
new
DataColumn (
"MemberID"
, Type.GetType (
"System.Int32"
)));
masterTable.Columns.Add (
new
DataColumn (
"userActive"
, Type.GetType (
"System.Boolean"
)));
masterTable.Rows.Add (
"John"
,
"Doe"
, 1,
true
);
masterTable.Rows.Add (
"Sam"
,
"Smith"
, 2,
false
);
masterTable.Rows.Add (
"Mary"
,
"Doe"
, 3,
true
);
DataTable detailTable =
new
DataTable ();
detailTable.Columns.Add (
new
DataColumn (
"MemberID"
, Type.GetType (
"System.Int32"
)));
detailTable.Columns.Add (
new
DataColumn (
"KeyID"
, Type.GetType (
"System.String"
)));
detailTable.Columns.Add (
new
DataColumn (
"LoginID"
, Type.GetType (
"System.String"
)));
detailTable.Columns.Add (
new
DataColumn (
"LoginSID"
, Type.GetType (
"System.String"
)));
detailTable.Rows.Add (1,
"1001"
,
"Office\\JD"
,
"JohnDoeSID"
);
detailTable.Rows.Add (1,
"1002"
,
"Home\\JD"
,
"JohnDoeSID2"
);
detailTable.Rows.Add (1,
"1003"
,
"Home\\JD2"
,
"JohnDoeSID3"
);
detailTable.Rows.Add (2,
"2001"
,
"Office\\SS"
,
"SamSmithSID"
);
detailTable.Rows.Add (2,
"2002"
,
"Home\\SS"
,
"SamSmithSID2"
);
ViewState[
"master"
] = masterTable;
ViewState[
"detail"
] = detailTable;
}
}
protected
void
RadGrid1_NeedDataSource (
object
sender, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = (DataTable)ViewState[
"master"
];
}
protected
void
RadGrid1_DetailTableDataBind (
object
sender, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
if
(e.DetailTableView.Name ==
"KeyDetail"
)
{
string
memberID = dataItem.GetDataKeyValue (
"MemberID"
).ToString ();
DataTable detailTable =(DataTable)ViewState[
"detail"
];
e.DetailTableView.DataSource = detailTable.Select (
"MemberID ="
+ memberID);
}
}
protected
void
RadGrid1_ItemCommand (
object
sender, GridCommandEventArgs e)
{
if
(e.CommandName ==
"RemoveLogin"
)
{
GridDataItem item = (GridDataItem)e.Item;
int
deleteKey = Convert.ToInt32 (item[
"KeyID"
].Text);
Label1.Text = item[
"KeyID"
].Text +
"<br/>"
+ item[
"LoginID"
].Text;
//RadGrid1.Rebind ();
}
}
}
<
telerik:RadGrid
ID
=
"radGrid"
runat
=
"server"
AutoGenerateColumns
=
"false"
Width
=
"100%"
BorderWidth
=
"0"
<br> CellPadding="0" GridLines="Vertical" Font-Size="11px" OnItemDataBound="radGrid_ItemDataBound"><
br
> <
MasterTableView
BorderWidth
=
"0"
><
br
> <
HeaderStyle
BackColor
=
"#bcd0fe"
Font-Bold
=
"true"
ForeColor
=
"#031d5b"
VerticalAlign
=
"Top"
/><
br
>