Hi,
I'm using
I have a grid view with template columns containing Numeric TextBox as shown below
I wanted to set value of whole row textboxes to 50 on First Column of Row double click.
and set value of whole column textboxes to 50 on column double click.
I wrote the following JScript and I managed to do the first issue right. But for second problem which was column double click I don't know how to find the text box control inside column cell.
If I use the following code I will see the value inside TextBox but the value is not available server side.
Thanks for your help
I'm using
I have a grid view with template columns containing Numeric TextBox as shown below
<
telerik:RadGrid
ShowStatusBar
=
"True"
ID
=
"RadGrid1"
runat
=
"server"
CellSpacing
=
"0"
<br> DataSourceID="SqlDataSource3" GridLines="None" AutoGenerateColumns="False" Width="100%"><
br
> <
ClientSettings
EnableRowHoverStyle
=
"true"
><
br
> <
ClientEvents
OnColumnDblClick
=
"ColumnClick"
OnRowDblClick
=
"handleRowClick"
/><
br
> </
ClientSettings
><
br
> <
MasterTableView
DataSourceID
=
"SqlDataSource3"
DataKeyNames
=
"periodID"
Dir
=
"RTL"
><
br
> <
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
><
br
> <
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
><
br
> </
RowIndicatorColumn
><
br
> <
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
><
br
> </
ExpandCollapseColumn
><
br
> <
Columns
><
br
> <
telerik:GridBoundColumn
DataField
=
"PeriodName"
FilterControlAltText
=
"Filter PeriodName column"
<br> ItemStyle-Width="100px" UniqueName="PeriodName" HeaderText="ساعت/روز"><
br
> <
ItemStyle
Width
=
"100px"
></
ItemStyle
><
br
> </
telerik:GridBoundColumn
><
br
> <
telerik:GridTemplateColumn
HeaderText
=
"شنبه"
UniqueName
=
"col1"
><
br
> <
ItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"txtCostGrid1"
runat
=
"server"
Culture
=
"en-US"
LabelWidth
=
"64px"
<br> Width="50px" MaxValue="100" MinValue="0"><
br
> <
NumberFormat
ZeroPattern
=
"n %"
DecimalDigits
=
"0"
></
NumberFormat
><
br
> </
telerik:RadNumericTextBox
><
br
> </
ItemTemplate
><
br
> </
telerik:GridTemplateColumn
><
br
> <
telerik:GridTemplateColumn
HeaderText
=
"یکشنبه"
UniqueName
=
"col2"
><
br
> <
ItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"txtCostGrid2"
runat
=
"server"
Culture
=
"en-US"
LabelWidth
=
"64px"
<br> Width="50px" MaxValue="100" MinValue="0"><
br
> <
NumberFormat
ZeroPattern
=
"n %"
DecimalDigits
=
"0"
></
NumberFormat
><
br
> </
telerik:RadNumericTextBox
><
br
> </
ItemTemplate
><
br
> </
telerik:GridTemplateColumn
><
br
> <
telerik:GridTemplateColumn
HeaderText
=
"دوشنبه"
UniqueName
=
"col3"
><
br
> <
ItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"txtCostGrid3"
runat
=
"server"
Culture
=
"en-US"
LabelWidth
=
"64px"
<br> Width="50px" MaxValue="100" MinValue="0"><
br
> <
NumberFormat
ZeroPattern
=
"n %"
DecimalDigits
=
"0"
></
NumberFormat
><
br
> </
telerik:RadNumericTextBox
><
br
> </
ItemTemplate
><
br
> </
telerik:GridTemplateColumn
><
br
> <
telerik:GridTemplateColumn
HeaderText
=
"سه شنبه"
UniqueName
=
"col4"
><
br
> <
ItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"txtCostGrid4"
runat
=
"server"
Culture
=
"en-US"
LabelWidth
=
"64px"
<br> Width="50px" MaxValue="100" MinValue="0"><
br
> <
NumberFormat
ZeroPattern
=
"n %"
DecimalDigits
=
"0"
></
NumberFormat
><
br
> </
telerik:RadNumericTextBox
><
br
> </
ItemTemplate
><
br
> </
telerik:GridTemplateColumn
><
br
> <
telerik:GridTemplateColumn
HeaderText
=
"چهارشنبه"
UniqueName
=
"col5"
><
br
> <
ItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"txtCostGrid5"
runat
=
"server"
Culture
=
"en-US"
LabelWidth
=
"64px"
<br> Width="50px" MaxValue="100" MinValue="0"><
br
> <
NumberFormat
ZeroPattern
=
"n %"
DecimalDigits
=
"0"
></
NumberFormat
><
br
> </
telerik:RadNumericTextBox
><
br
> </
ItemTemplate
><
br
> </
telerik:GridTemplateColumn
><
br
> <
telerik:GridTemplateColumn
HeaderText
=
"پنجشنبه"
UniqueName
=
"col6"
><
br
> <
ItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"txtCostGrid6"
runat
=
"server"
Culture
=
"en-US"
LabelWidth
=
"64px"
<br> Width="50px" MaxValue="100" MinValue="0"><
br
> <
NumberFormat
ZeroPattern
=
"n %"
DecimalDigits
=
"0"
></
NumberFormat
><
br
> </
telerik:RadNumericTextBox
><
br
> </
ItemTemplate
><
br
> </
telerik:GridTemplateColumn
><
br
> <
telerik:GridTemplateColumn
HeaderText
=
"جمعه"
UniqueName
=
"col7"
><
br
> <
ItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"txtCostGrid7"
runat
=
"server"
Culture
=
"en-US"
LabelWidth
=
"64px"
<br> Width="50px" MaxValue="100" MinValue="0"><
br
> <
NumberFormat
ZeroPattern
=
"n %"
DecimalDigits
=
"0"
></
NumberFormat
><
br
> </
telerik:RadNumericTextBox
><
br
> </
ItemTemplate
><
br
> </
telerik:GridTemplateColumn
><
br
> </
Columns
><
br
> <
EditFormSettings
><
br
> <
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
><
br
> </
EditColumn
><
br
> </
EditFormSettings
><
br
> </
MasterTableView
><
br
> <
FilterMenu
EnableImageSprites
=
"False"
><
br
> </
FilterMenu
><
br
> </
telerik:RadGrid
>
I wanted to set value of whole row textboxes to 50 on First Column of Row double click.
and set value of whole column textboxes to 50 on column double click.
I wrote the following JScript and I managed to do the first issue right. But for second problem which was column double click I don't know how to find the text box control inside column cell.
function
ColumnClick(sender, eventArgs) {<br><br>
var
radG = $find(
"<%=RadGrid1.ClientID %>"
);<br>
var
DataItems = radG.get_masterTableView().get_dataItems();<br>
var
masterTableView = radG.get_masterTableView();<br>
for
(i = 0; i < DataItems.length; i++) {<br>
var
row = DataItems[i];<br>
var
cell = masterTableView.getCellByColumnUniqueName(row,
"col"
+ eventArgs.get_domEvent().target.cellIndex);<br>
var
radTextBox1 = cell.getElementsByTagName(
"input"
)[0];<br> radTextBox1.set_value(50);<br> }<br> }<br>
function
getHeaderRow(sender) {<br>
var
masterTable = sender.get_masterTableView();<br>
return
masterTable.HeaderRow ==
null
? sender.get_masterTableViewHeader().get_element() : masterTable.HeaderRow;<br> }<br><br>
function
handleRowClick(sender, args) {<br>
var
masterTable = sender.get_masterTableView();<br>
var
cellIndex = args.get_domEvent().target.cellIndex;<br>
var
colName = masterTable.getColumnUniqueNameByCellIndex(getHeaderRow(sender), cellIndex)<br>
if
(colName ==
"PeriodName"
) {<br>
for
(
var
i = 1; i < 8; i++) {<br>
var
radTextBox1 = args.get_item().findControl(
"txtCostGrid"
+ i);<br> radTextBox1.set_value(50);<br> }<br> }<br> }
If I use the following code I will see the value inside TextBox but the value is not available server side.
var
el = document.getElementsByTagName(
'input'
);<br>
var
len = el.length;<br>
for
(
var
i = 0; i < len; i++) {<br>
if
((el[i].type ==
"text"
)) {<br>
if
(el[i].name.indexOf(
"txtCostGrid"
+ eventArgs.get_gridColumn().get_element().cellIndex) != -1) {<br> el[i].value=50;<br> }<br> }<br> }
Thanks for your help