i have radgrid with many gridtempletecolumns. It is always in editmode="inline". I can select row by clicking anywhere on this row except its items like radcombobox, radtextbox, checkbox etc. How can i select this row by clicking on this items? It would be best to do it on client side.
4 Answers, 1 is accepted

Take one CheckBox in Tamplatecolumn for editmode as shown in below code.
And Show this Column only in EditMode.
<
telerik:GridTemplateColumn Visible="false"
>
<
EditItemTemplate
>
<
asp:CheckBox
ID
=
"CheckBox1"
runat
=
"server"
/>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
Let me know if any concern.
Thanks,
Jayesh Goyani

I tried it and it didn't work;
Here is some of my code for radgrid and for prerender now:
<
telerik:RadGrid
ID
=
"RadGrid3"
runat
=
"server"
DataSourceID
=
"sqlPozycje"
Skin
=
"WebBlue"
AllowAutomaticUpdates
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticDeletes
=
"True"
AllowMultiRowEdit
=
"True"
OnPreRender
=
"RadGrid3_PreRender"
SelectedItemStyle-BackColor
=
"Gray"
OnItemDeleted
=
"RadGrid3_ItemDeleted"
OnItemCommand
=
"RadGrid3_ItemCommand"
OnDataBound
=
"RadGrid3_DataBound"
OnItemDataBound
=
"RadGrid3_ItemDataBound"
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"true"
/>
<
ClientEvents
OnRowSelected
=
"rw"
/>
</
ClientSettings
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataSourceID
=
"sqlPozycje"
EditMode
=
"InPlace"
CommandItemDisplay
=
"Bottom"
AllowAutomaticDeletes
=
"true"
DataKeyNames
=
"poz_id"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridClientSelectColumn
Visible
=
"false"
UniqueName
=
"CheckboxSelectColumn"
ItemStyle-Width
=
"0px"
HeaderStyle-Width
=
"0px"
HeaderText
=
"S"
HeaderTooltip
=
"Select row"
>
<
HeaderStyle
Width
=
"0px"
/>
<
ItemStyle
Width
=
"0px"
/>
</
telerik:GridClientSelectColumn
>
<
telerik:GridTemplateColumn
Visible
=
"false"
>
<
EditItemTemplate
>
<
asp:CheckBox
ID
=
"CheckBox1"
runat
=
"server"
/>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"poz_id"
FilterControlAltText
=
"Filter poz_nazwa column"
DataType
=
"System.Int32"
HeaderText
=
"ID"
SortExpression
=
"poz_id"
UniqueName
=
"poz_id"
ColumnEditorID
=
"GridTextBoxColumnEditor3"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"poz_odznacz"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter poz_odznacz column"
ColumnEditorID
=
"GridCheckBoxColumnEditor1"
HeaderText
=
"O"
HeaderTooltip
=
"Odznacz"
SortExpression
=
"poz_odznacz"
UniqueName
=
"poz_odznacz"
HeaderStyle-Width
=
"0px"
ItemStyle-Width
=
"0px"
>
<
HeaderStyle
Width
=
"0px"
/>
<
ItemStyle
Width
=
"0px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Opis"
ItemStyle-Width
=
"35px"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "poz_nazwa")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"Ropis"
DataTextField
=
"OPI_Nazwa"
AllowCustomText
=
"true"
Text='<%#Bind("poz_nazwa") %>' ShowToggleImage="false" DataSourceID="sqlOpis"
MarkFirstMatch="true" Width="80px" DropDownWidth="100px">
</
telerik:RadComboBox
>
</
EditItemTemplate
>
<
ItemStyle
Width
=
"35px"
/>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Kol"
ItemStyle-Width
=
"35px"
UniqueName
=
"KON_Numer"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "KON_Numer")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"RadComboBox3"
DataTextField
=
"KON_Numer"
DataValueField
=
"KON_Numer"
DataSourceID
=
"sqlKolumny"
OnSelectedIndexChanged
=
"RadComboBox3_SelectedIndexChanged"
Width
=
"35px"
DropDownWidth
=
"80px"
SelectedValue='<%#Bind("KON_Numer") %>'>
</
telerik:RadComboBox
>
</
EditItemTemplate
>
<
ItemStyle
Width
=
"35px"
/>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Rejestr"
ItemStyle-Width
=
"70px"
UniqueName
=
"ColRejestr"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "REJ_Nazwa")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"RadComboBox2"
DataTextField
=
"REJ_Nazwa"
DataValueField
=
"REJ_Nazwa"
DataSourceID
=
"sqlRejestr"
Width
=
"70px"
DropDownWidth
=
"200px"
SelectedValue='<%#Bind("REJ_Nazwa") %>'>
</
telerik:RadComboBox
>
</
EditItemTemplate
>
<
ItemStyle
Width
=
"70px"
/>
</
telerik:GridTemplateColumn
>
<
telerik:GridCheckBoxColumn
FilterControlAltText
=
"Filter poz_odznacz column"
ColumnEditorID
=
"GridCheckBoxColumnEditor1"
HeaderText
=
"R"
HeaderTooltip
=
"Bez rejestru"
SortExpression
=
"poz_odznacz"
UniqueName
=
"BezRejestru"
HeaderStyle-Width
=
"0px"
ItemStyle-Width
=
"0px"
>
<
HeaderStyle
Width
=
"0px"
/>
<
ItemStyle
Width
=
"0px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"B"
ItemStyle-Width
=
"20px"
UniqueName
=
"POZ_CzyBrutto"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "POZ_CzyBrutto")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:CheckBox
runat
=
"server"
ID
=
"chk"
DataTextField
=
"POZ_CzyBrutto"
DataValueField
=
"POZ_CzyBrutto"
Checked='<%#Bind("POZ_CzyBrutto") %>' OnChange="javascript:rww();">
</
asp:CheckBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"poz_czyVat"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter poz_czyVat column"
ColumnEditorID
=
"GridCheckBoxColumnEditor1"
HeaderText
=
"V"
HeaderTooltip
=
"Czy VAT?"
SortExpression
=
"poz_czyVat"
UniqueName
=
"poz_czyVat"
HeaderStyle-Width
=
"0px"
>
<
HeaderStyle
Width
=
"0px"
/>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Netto"
ItemStyle-Width
=
"50px"
UniqueName
=
"poz_mwrt_netto"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "poz_mwrt_netto")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadTextBox
runat
=
"server"
ID
=
"RTnetto"
DataTextField
=
"poz_mwrt_netto"
DataValueField
=
"poz_mwrt_netto"
DataSourceID
=
"sqlRejestr"
Style
=
"text-align: right;"
Width
=
"50px"
Text='<%#Bind("poz_mwrt_netto") %>'>
</
telerik:RadTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"POZ_Stawka_VAT"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter POZ_Stawka_VAT column"
HeaderText
=
"%"
SortExpression
=
"POZ_Stawka_VAT"
UniqueName
=
"POZ_Stawka_VAT"
ColumnEditorID
=
"GridTextBoxColumnEditor2"
HeaderStyle-Width
=
"0px"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Vat"
ItemStyle-Width
=
"50px"
UniqueName
=
"poz_mwrt_vat"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "poz_mwrt_vat")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadTextBox
runat
=
"server"
ID
=
"RTvat"
DataTextField
=
"poz_mwrt_vat"
DataValueField
=
"poz_mwrt_vat"
DataSourceID
=
"sqlRejestr"
Style
=
"text-align: right;"
Width
=
"50px"
Text='<%#Bind("poz_mwrt_vat") %>'>
</
telerik:RadTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Brutto"
ItemStyle-Width
=
"50px"
UniqueName
=
"poz_Mwrt_brutto"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "poz_Mwrt_brutto")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadTextBox
runat
=
"server"
ID
=
"RTbrutto"
DataTextField
=
"poz_Mwrt_brutto"
DataValueField
=
"poz_Mwrt_brutto"
DataSourceID
=
"sqlRejestr"
Style
=
"text-align: right;"
Width
=
"50px"
Text='<%#Bind("poz_Mwrt_brutto") %>'>
</
telerik:RadTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn1 column"
UniqueName
=
"EditCommandColumn1"
>
</
EditColumn
>
</
EditFormSettings
>
<
CommandItemTemplate
>
<
div
style
=
"padding: 0 5px;"
>
<
asp:LinkButton
ID
=
"LinkButton1"
runat
=
"server"
CommandName
=
"DeleteSelected"
Text
=
"Delete"
/>
</
div
>
</
CommandItemTemplate
>
</
MasterTableView
>
<
SelectedItemStyle
BackColor
=
"Gray"
/>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
>
</
HeaderContextMenu
>
<
FilterMenu
EnableImageSprites
=
"False"
>
</
FilterMenu
>
</
telerik:RadGrid
>
protected
void
RadGrid3_PreRender(
object
sender, EventArgs e)
{
for
(
int
i = 0; i < RadGrid3.PageSize; i++)
{
RadGrid3.EditIndexes.Add(i);
}
RadGrid3.Columns[1].Visible =
true
;
RadGrid3.Rebind();
}
I have 11 (now 12) columns visible, its just strange that i can select row by clicking not on its items, and can't select it when i am only editing it content. Also please let me know if my question isn't clear at any point.
In the standard case a row is selected only if you click inside the <tr> element of the grid row. Clicking inside elements such as inputs or images will not bubble up the click event and the row will not be selected. If you wish you can achieve that with some custom client-side code. You can handle the onclick (onfocus etc.) event of the desired element (textbox, dropdown etc.) and then use the RadGrid Client-side API to manually select the row as shown here:
http://www.telerik.com/help/aspnet-ajax/grid-gridtableview-selectitem.html
Marin
the Telerik team
Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>
