or
using
System;
using
Telerik.Web.UI;
public
partial
class
Default : System.Web.UI.Page
{
public
class
A
{
public
int
a {
get
;
set
; }
public
int
b {
get
;
set
; }
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
RadGrid1.DataSource =
new
A[] {
new
A() {a = 1, b = 2},
new
A() {a = 3, b = 4}};
}
protected
void
rg_ItemCommand(
object
sender, GridCommandEventArgs e)
{
int
i = e.Item.ItemIndex;
GridDataItem item = (GridDataItem)e.Item;
int
letterId = (
int
)item.GetDataKeyValue(
"a"
);
//GridDataItem dataItem = RadGrid1.SelectedItems[0] as GridDataItem;
}
}
<%@ 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, Version=2012.3.1205.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI, Version=2012.3.1205.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI, Version=2012.3.1205.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
//Put your JavaScript code here.
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
div
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
OnItemCommand
=
"rg_ItemCommand"
>
<
MasterTableView
DataKeyNames
=
"a"
AutoGenerateColumns
=
"False"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"a"
DataType
=
"System.Int32"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"b"
DataType
=
"System.Int32"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
ButtonType
=
"LinkButton"
CommandName
=
"test"
Text
=
"test"
>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<%--removing Oncommand will make itemindex work--%>
<
ClientEvents
OnCommand
=
"rgCommand"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
</
div
>
<
script
type
=
"text/javascript"
>
function rgCommand(sender, args) {
var commandName = args.get_commandName();
}
</
script
>
</
form
>
</
body
>
</
html
>
((Wcsr.ProjectBilling.Business.Data.ProjectTask)
(Container.DataItem ??
new
Wcsr.ProjectBilling.Business.Data.ProjectTask())).Code
<
asp:FormView
ID
=
"FormView1"
runat
=
"server"
DataSourceID
=
"ObjectDataSource1"
DefaultMode
=
"Edit"
OnItemUpdated
=
"FormView1_ItemUpdated"
OnItemUpdating
=
"FormView1_ItemUpdating"
>
<
EditItemTemplate
>
<
telerik:RadPanelBar
ID
=
"RadPanelBar1"
runat
=
"server"
Skin
=
"Metro"
Width
=
"100%"
>
<
Items
>
<
telerik:RadPanelItem
runat
=
"server"
Expanded
=
"True"
PreventCollapse
=
"True"
Text
=
"Basic Task Information"
>
<
ContentTemplate
>
<
div
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
CssClass
=
"fieldLabel"
>Task Code</
asp:Label
>
<%-- For some reason RadPanelItem requires you to do databinding with DataBinder.Eval --%>
<
asp:TextBox
ID
=
"TaskCodeTb"
runat
=
"server"
MaxLength
=
"20"
Text='<%# ((Wcsr.ProjectBilling.Business.Data.ProjectTask)
(Container.DataItem ?? new Wcsr.ProjectBilling.Business.Data.ProjectTask())).Code %>'></
asp:TextBox
>
</
div
>
<
div
>
<
asp:Label
ID
=
"Label4"
runat
=
"server"
CssClass
=
"fieldLabel"
>Task Description</
asp:Label
>
<
asp:TextBox
ID
=
"DescriptionTb"
runat
=
"server"
MaxLength
=
"250"
Rows
=
"3"
Text='<%# ((Wcsr.ProjectBilling.Business.Data.ProjectTask)
(Container.DataItem ?? new Wcsr.ProjectBilling.Business.Data.ProjectTask())).Description %>' TextMode="MultiLine"></
asp:TextBox
>
</
div
>
</
ContentTemplate
>
</
telerik:RadPanelItem
>
</
telerik:RadPanelBar
>
<
asp:LinkButton
runat
=
"server"
ID
=
"UpdateLb"
Text
=
"Update"
CommandName
=
"Update"
></
asp:LinkButton
>
<
asp:LinkButton
runat
=
"server"
ID
=
"CancelLb"
Text
=
"Cancel"
CommandName
=
"Cancel"
></
asp:LinkButton
>
</
EditItemTemplate
>
</
asp:FormView
>
protected
void
Button1_Click(
object
sender, EventArgs e)
{
RadGrid grid = (
this
.FindControl(
"RadGrid1"
)
as
RadGrid);
if
(grid.MasterTableView.IsItemInserted)
{
(grid.MasterTableView.GetItems(GridItemType.CommandItem)[0]
as
GridCommandItem).FireCommandEvent(RadGrid.PerformInsertCommandName,
string
.Empty);
}
else
if
(grid.EditItems.Count > 0)
{
grid.EditItems[0].FireCommandEvent(RadGrid.UpdateCommandName,
string
.Empty);
}
else
{
(grid.MasterTableView.GetItems(GridItemType.Item)[0]
as
GridDataItem).FireCommandEvent(RadGrid.DeleteCommandName,
string
.Empty);
}
}