Hi Everyone,
I am really stuck on how to find a text box control in edit item template after clicking a custom command item inside detail table.
requirement:
- after clicking "Edit" command item in detail table named "Detail2", show the text box "tbVisitSortOrder"
Please check my aspx code below.
 
server side code:
an error will occur "Unable to cast object of type 'Telerik.WebControls.GridCommandItem' to type 'Telerik.WebControls.GridDataItem'." in this line, GridDataItem item = (GridDataItem)e.Item;
Please help, any response would really be appreciated.
Thanks!
Lyzel
                                I am really stuck on how to find a text box control in edit item template after clicking a custom command item inside detail table.
requirement:
- after clicking "Edit" command item in detail table named "Detail2", show the text box "tbVisitSortOrder"
Please check my aspx code below.
<DetailTables>                    <rad:GridTableView Name="Detail2"  DataKeyNames="cp_id" DataMember="visit"  CommandItemDisplay="Top" EditMode="InPlace" Width="100%">                    <CommandItemTemplate>                        <table width="100%" border="0" cellspacing="0" cellpadding="0">                            <tr>                                <td style="width:60%">                                    <div style="padding:3px 4px 3px 4px">                                        <table border="0" cellpadding="1" cellspacing="1">                                            <tr style="font: normal 11px tahoma, Verdana, Helvetica, Sans-serif;vertical-align:middle">                                                <td>                                                    <div class="toolbarIconDivider">|</div>                                                </td>                                                <td>                                                    <asp:LinkButton ID="btnAdd" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="InitInsert"><img style="border:0px" alt="" src="../images/addemail.gif" /> Add</asp:LinkButton>                                                    <asp:LinkButton ID="lnkPerformInsert" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="PerformInsert" Visible="false"><img style="border:0px" alt="" src="../images/save.gif" /> Save</asp:LinkButton>                                                </td>                                                <td>                                                    <div class="toolbarIconDivider">|</div>                                                </td>                                                <td>                                                    <asp:LinkButton ID="btnEditSelected"  CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="EditSelected" ><img style="border:0px" alt="" src="../images/edit.gif" /> Edit</asp:LinkButton>                                                    <asp:LinkButton ID="btnUpdateEdited" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="Update" Visible="false"><img style="border:0px" alt="" src="../images/save.gif" /> Save</asp:LinkButton>                                                    <asp:LinkButton ID="btnCancel" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="CancelAll"  Visible="false" CausesValidation="false"><img style="border:0px" alt="" src="../images/cancel.gif" /> Cancel</asp:LinkButton>                                                </td>                                                <td>                                                    <div class="toolbarIconDivider">|</div>                                                </td>                                                <td>                                                    <asp:LinkButton ID="btnDelete" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="Delete"  OnClientClick="javascript:return confirm('Are you sure you want to delete this Clinical Pathway Instruction?')" ><img style="border:0px" alt="" src="../images/delete.gif" /> Delete</asp:LinkButton>                                                </td>                                            </tr>                                        </table>                                    </div>                                </td>                            </tr>                        </table>                     </CommandItemTemplate>                                            <DetailTables>                            <rad:GridTableView  Name="Detail3" DataKeyNames="cpi_id" DataMember="instruction" CommandItemDisplay="Top" EditMode="InPlace" Width="100%">                            <CommandItemTemplate>                            <table width="100%" border="0" cellspacing="0" cellpadding="0">                                <tr>                                    <td style="width:60%">                                        <div style="padding:3px 4px 3px 4px">                                            <table border="0" cellpadding="1" cellspacing="1">                                                <tr style="font: normal 11px tahoma, Verdana, Helvetica, Sans-serif;vertical-align:middle">                                                    <td>                                                        <div class="toolbarIconDivider">|</div>                                                    </td>                                                    <td>                                                        <asp:LinkButton ID="btnAdd" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="InitInsert" ><img style="border:0px" alt="" src="../images/addemail.gif" /> Add</asp:LinkButton>                                                        <asp:LinkButton ID="lnkPerformInsert" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="PerformInsert" Visible="false"><img style="border:0px" alt="" src="../images/save.gif" /> Save</asp:LinkButton>                                                    </td>                                                    <td>                                                        <div class="toolbarIconDivider">|</div>                                                    </td>                                                    <td>                                                        <asp:LinkButton ID="btnEditSelected"  CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="EditSelected" ><img style="border:0px" alt="" src="../images/edit.gif" /> Edit</asp:LinkButton>                                                        <asp:LinkButton ID="btnUpdateEdited" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="Update" Visible="false"><img style="border:0px" alt="" src="../images/save.gif" /> Save</asp:LinkButton>                                                        <asp:LinkButton ID="btnCancel" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="CancelAll" Visible="false" CausesValidation="false"><img style="border:0px" alt="" src="../images/cancel.gif" /> Cancel</asp:LinkButton>                                                    </td>                                                    <td>                                                        <div class="toolbarIconDivider">|</div>                                                    </td>                                                    <td>                                                        <asp:LinkButton ID="btnDelete" CssClass="mu" onmouseover="this.className='mo'" onmouseout="this.className='mu'" runat="server" CommandName="Delete"  OnClientClick="javascript:return confirm('Are you sure you want to delete this Clinical Pathway Instruction?')" ><img style="border:0px" alt="" src="../images/delete.gif" /> Delete</asp:LinkButton>                                                    </td>                                                </tr>                                            </table>                                        </div>                                    </td>                                </tr>                            </table>                            </CommandItemTemplate>                                                         <Columns>                            <rad:GridBoundColumn DataField="cpi_id" HeaderText="CPI_ID" UniqueName="CPI_ID" Visible="false"></rad:GridBoundColumn>                            <rad:GridBoundColumn DataField="instructions" HeaderText="instructions" UniqueName="instructions" Visible="false"></rad:GridBoundColumn>                            <rad:GridTemplateColumn HeaderText="Instructions" UniqueName="instructions" DataField="instructions">                                <ItemTemplate>                                    <%# DataBinder.Eval(Container.DataItem, "instructions")%>                                </ItemTemplate>                                <EditItemTemplate>                                    <asp:TextBox ID="tbIns" runat="server" Text='<%# Bind( "instructions") %>' width="100%" TabIndex="1" TextMode="MultiLine" Rows="4"></asp:TextBox>                                    <asp:RequiredFieldValidator ID="descValidator" Runat="server" Display="Dynamic" ControlToValidate="tbIns" ErrorMessage="* Required Field">                                </asp:RequiredFieldValidator>                            </EditItemTemplate>                            <HeaderStyle Width="90%" />                            </rad:GridTemplateColumn>                            <rad:GridTemplateColumn HeaderText="Sort Order" UniqueName="sortorder" DataField="sortorder">                                <ItemTemplate>                                    <%# DataBinder.Eval(Container.DataItem, "sortorder")%>                                </ItemTemplate>                                <EditItemTemplate>                                    <asp:TextBox ID="tbSortOrder" runat="server" Text='<%# Bind( "sortorder") %>' width="30px" TabIndex="2"></asp:TextBox>                                    <asp:RequiredFieldValidator ID="descValidator2" Runat="server" Display="Dynamic" ControlToValidate="tbSortOrder" ErrorMessage="* Required Field">                                </asp:RequiredFieldValidator>                                <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="Dynamic" ControlToValidate="tbSortOrder" ErrorMessage="Please enter a valid sort order number." ValidationExpression="^\d+$"></asp:RegularExpressionValidator>                            </EditItemTemplate>                            </rad:GridTemplateColumn>                         </Columns>                            </rad:GridTableView>                        </DetailTables>                                         <Columns>                        <rad:GridBoundColumn DataField="cp_id" HeaderText="CP_ID" UniqueName="CP_ID" Visible="false"></rad:GridBoundColumn>                        <rad:GridBoundColumn DataField="VisitFrequency" HeaderText="VisitFrequency" UniqueName="VisitFrequency" Visible="false"></rad:GridBoundColumn>                        <rad:GridClientSelectColumn UniqueName="ClientSelectColumnDetail1"></rad:GridClientSelectColumn>                        <rad:GridTemplateColumn HeaderText="Visit Frequency" UniqueName="VisitFrequency" DataField="VisitFrequency">                            <ItemTemplate>                                <%# DataBinder.Eval(Container.DataItem, "VisitFrequency")%>                            </ItemTemplate>                            <EditItemTemplate>                                <asp:TextBox ID="tbVisit" runat="server" Text='<%# Bind( "VisitFrequency") %>' width="100%" TabIndex="1" ></asp:TextBox>                                <asp:RequiredFieldValidator ID="descValidator" Runat="server" Display="Dynamic" ControlToValidate="tbVisit" ErrorMessage="* Required Field">                            </asp:RequiredFieldValidator>                        </EditItemTemplate>                        <HeaderStyle Width="80%" />                        </rad:GridTemplateColumn>                        <rad:GridTemplateColumn HeaderText="Sort Order" UniqueName="Sortorder" DataField="Sortorder">                            <ItemTemplate>                                <%# DataBinder.Eval(Container.DataItem, "Sortorder")%>                            </ItemTemplate>                            <EditItemTemplate>                                <asp:TextBox ID="tbVisitSortOrder" runat="server" Text='<%# Bind( "Sortorder") %>' width="30px" TabIndex="2" Visible="false"></asp:TextBox>                                <asp:RequiredFieldValidator ID="descValidator2" Runat="server" Display="Dynamic" ControlToValidate="tbVisitSortOrder" ErrorMessage="* Required Field" >                            </asp:RequiredFieldValidator>                            <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" Display="Dynamic" ControlToValidate="tbVisitSortOrder" ErrorMessage="Please enter a valid sort order number." ValidationExpression="^\d+$"></asp:RegularExpressionValidator>                        </EditItemTemplate>                        </rad:GridTemplateColumn>                                     </Columns>                    </rad:GridTableView>                 </DetailTables>server side code:
an error will occur "Unable to cast object of type 'Telerik.WebControls.GridCommandItem' to type 'Telerik.WebControls.GridDataItem'." in this line, GridDataItem item = (GridDataItem)e.Item;
protected void MasterGrid_ItemCreated(object sender, GridItemEventArgs e)        {            if (e.Item.OwnerTableView.Name == "Detail2" && CommandState == "editselected")            {                GridDataItem item = (GridDataItem)e.Item;                TextBox txtBox = (TextBox)item["Sortorder"].FindControl("tbVisitSortOrder");                txtBox.Visible = true;            }         }Please help, any response would really be appreciated.
Thanks!
Lyzel

