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 >>