this grid is read-only except for a single column - cases
when anywhere on the grid is clicked the Cases column of the row clicked opens for update
if the grid is clicked again
IE and Opera update the column, then open the Cases column of the new row clicked
Firefox, Chrome and Safari update the column but the new row is not put in Edit Mode
code behind
when anywhere on the grid is clicked the Cases column of the row clicked opens for update
if the grid is clicked again
IE and Opera update the column, then open the Cases column of the new row clicked
Firefox, Chrome and Safari update the column but the new row is not put in Edit Mode
<
body
onbeforeprint
=
"return window_onbeforeprint()"
onafterprint
=
"return window_onafterprint()"
>
<
form
id
=
"frmEditOrderNew"
method
=
"post"
runat
=
"server"
>
<
telerik:RadCodeBlock
ID
=
"rcBlock"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
<!--
function RowDblClick(sender, eventArgs) {
idx = eventArgs.get_itemIndexHierarchical();
sender.get_masterTableView().editItem(idx);
}
function RowClick(sender, eventArgs) {
idx = eventArgs.get_itemIndexHierarchical();
sender.get_masterTableView().editItem(idx);
}
function RowDataBound(sender, args) {
var obj = args.get_dataItem();
var obje = args.get_item();
}
-->
</
script
>
</
telerik:RadCodeBlock
>
.....
<
telerik:RadGrid
ID
=
"rgEditOrder"
OnNeedDataSource
=
"rgEditOrder_NeedDataSource"
OnItemCommand
=
"rgEditOrder_ItemCommand"
ShowFooter
=
"True"
Skin
=
"Sunset"
runat
=
"server"
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
DataKeyNames
=
"OrderSeq"
AutoGenerateColumns
=
"false"
AllowSorting
=
"true"
AllowPaging
=
"true"
AllowFilteringByColumn
=
"False"
EditMode
=
"InPlace"
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"StoreNumber"
DataField
=
"StoreNumber"
HeaderText
=
"Store #"
DataFormatString
=
"{0:#####}"
DataType
=
"System.Int32"
Aggregate
=
"None"
ReadOnly
=
"True"
>
<
HeaderStyle
Width
=
"36px"
/>
</
telerik:GridBoundColumn
>
more columns
<
telerik:GridTemplateColumn
UniqueName
=
"Qty"
HeaderText
=
"Cases"
DataField
=
"Qty"
DataType
=
"System.Int32"
Aggregate
=
"Sum"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblQty"
Text='<%# Bind("Qty") %>' Width="32px" runat="server" />
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"rntbQty"
DBValue='<%# Eval("Qty") %>' OnTextChanged="rntbQty_TextChanged" MinValue="0" MaxValue="99999" MaxLength="5" AutoPostBack="True" Width="32px" runat="server">
<
NumberFormat
DecimalDigits
=
"0"
GroupSeparator
=
""
/>
</
telerik:RadNumericTextBox
>
</
EditItemTemplate
>
<
HeaderStyle
Width
=
"32px"
/>
</
telerik:GridTemplateColumn
>
more columns
<
telerik:GridBoundColumn
UniqueName
=
"OrderSeq"
DataField
=
"OrderSeq"
DataType
=
"System.Int64"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
ClientEvents
OnRowDblClick
=
"RowDblClick"
/>
<
ClientEvents
OnRowClick
=
"RowClick"
/>
<
ClientEvents
OnRowDataBound
=
"RowDataBound"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
code behind
protected
void
rntbQty_TextChanged(
object
sender, EventArgs e)
{
RadNumericTextBox rntbQty;
GridDataItem gdItem;
GridEditableItem geItem;
DateTime ShipDate;
int
Qty, iBooth, iPage, iConsolid;
double
fStore, dVendor, dItemID, dNetCost;
string
[] strDel =
new
string
[1];
double
[] dQty =
new
double
[1];
WsOrderSystem wsOrder;
bool
bUpdate =
false
;
rntbQty = (RadNumericTextBox)sender;
gdItem = rntbQty.NamingContainer
as
GridDataItem;
geItem = rntbQty.NamingContainer
as
GridEditableItem;
Qty = Convert.ToInt32(rntbQty.Value);
fStore = Convert.ToDouble(ExtractValue(geItem,
"StoreNumber"
));
kode
wsOrder =
new
WsOrderSystem();
bUpdate = wsOrder.AddToOrder(fStore, iBooth, iPage, dVendor, dNetCost, dItemID, strDel, dQty,
true
, iConsolid);
geItem.Edit =
false
;
rgEditOrder.MasterTableView.Rebind();
}