or
function
RowContextMenu(sender, eventArgs) {
var
evt = eventArgs.get_domEvent();
if
(evt.target.tagName ==
"INPUT"
|| evt.target.tagName ==
"A"
) {
return
;
}
var
index = eventArgs.get_itemIndexHierarchical();
var
row = sender.get_masterTableView().get_dataItems()[index];
var
current_status = sender.get_masterTableView().getCellByColumnUniqueName(row,
"Current_Status"
).innerHTML;
var
process_status = sender.get_masterTableView().getCellByColumnUniqueName(row, sender.get_masterTableView().get_columns()[evt.target.cellIndex].get_uniqueName()).innerHTML;
var
process_area = //write code to get the column header of the selected cell
document.getElementById(
"radGridClickedRowIndex"
).value = index;
sender.get_masterTableView().selectItem(row.get_element(),
true
);
var
menu = $find(
"<%=RadMenu1.ClientID %>"
);
menu.show(evt);
evt.cancelBubble =
true
;
evt.returnValue =
false
;
if
(evt.stopPropagation) {
evt.stopPropagation();
evt.preventDefault();
}
}
<
asp:SqlDataSource
ID
=
"ActionsDataSource"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:MetadataCS %>"
ProviderName="<%$ ConnectionStrings:MetadataCS.ProviderName %>" SelectCommand="SELECT [Action] FROM [FileStatusActions] WHERE (([Process_Area] = @Process_Area) AND ([Current_Status] = @Current_Status) AND ([Process_Status] = @Process_Status))">
<
SelectParameters
>
<
asp:Parameter
Name
=
"Process_Area"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Current_Status"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Process_Status"
Type
=
"String"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
<
telerik:RadContextMenu
ID
=
"RadMenu1"
runat
=
"server"
OnItemClick
=
"RadMenu1_ItemClick"
OnClientShowing
=
"showContextMenu"
DataSourceID
=
"ActionsDataSource"
DataTextField
=
"Action"
DataValueField
=
"Action"
AppendDataBoundItems
=
"true"
EnableRoundedCorners
=
"true"
EnableShadows
=
"true"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Dynamic Menu"
/>
</
Items
>
</
telerik:RadContextMenu
>
<%@ 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
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
asp:Button
ID
=
"Button1"
runat
=
"server"
Text
=
"Get Values"
OnClick
=
"Button1_Click"
/>
<
asp:GridView
ID
=
"GridView1"
runat
=
"server"
>
</
asp:GridView
>
</
div
>
</
form
>
</
body
>
</
html
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
public
partial
class
_Default : System.Web.UI.Page
{
protected
override
void
OnInit(EventArgs e)
{
base
.OnInit(e);
TemplateField templateField =
new
TemplateField();
GridView1.Columns.Add(templateField);
templateField.ItemTemplate =
new
MyCheckBoxTemplate();
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
GridView1.DataSource =
new
string
[] {
"a"
,
"b"
,
"c"
};
GridView1.DataBind();
}
}
protected
void
Button1_Click(
object
sender, EventArgs e)
{
foreach
(GridViewRow row
in
GridView1.Rows)
{
bool
isChecked = ((CheckBox)row.FindControl(
"CheckBox1"
)).Checked;
Response.Write(
"RowIndex "
+ row.RowIndex +
": "
+ isChecked +
"<br />"
);
}
}
}
public
class
MyCheckBoxTemplate : ITemplate
{
void
ITemplate.InstantiateIn(Control parent)
{
CheckBox cb =
new
CheckBox();
cb.ID =
"CheckBox1"
;
parent.Controls.Add(cb);
}
}
if
(m_grid.MasterTableView.IsItemInserted)
{
GridEditFormInsertItem insertItem = (GridEditFormInsertItem)m_grid.MasterTableView.GetInsertItem();
insertItem.FireCommandEvent(
"PerformInsert"
, String.Empty);
}
if
(m_grid.EditItems.Count > 0)
{
m_grid.EditItems[0].FireCommandEvent(
"Update"
, String.Empty);
}
MyControl control = (MyControl )e.Item.FindControl(
"MyControl"
);