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