【问题标题】:how to Call telerik controls inside a template in the code如何在代码中的模板内调用 Telerik 控件
【发布时间】:2016-03-11 13:59:05
【问题描述】:

这是我的 Radgrid,我正在尝试在 .vb 代码中调用联系人类型、projectid 和 ContactName。请帮我获取它。

由于整个设计都在模板下,我不确定我们如何访问 RadDropDownList、texboxes 和 ETC。

<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" PageSize="50" Width="99%" OnItemUpdated="RadGrid1_ItemUpdated" OnItemInserted="RadGrid1_ItemInserted" OnItemDeleted="RadGrid1_ItemDeleted"
        AutoGenerateColumns="False" AutoGenerateEditColumn="True" AutoGenerateDeleteColumn="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AllowAutomaticDeletes="True" OnDataBound="RadGrid1_DataBound">
        <MasterTableView DataSourceID="SqlDataSource1" CommandItemDisplay="Top" DataKeyNames="ProjectID,ContactType">
            <ItemStyle HorizontalAlign="Center" />
            <HeaderStyle HorizontalAlign="Center" Wrap="true" />
            <EditItemStyle HorizontalAlign="Left" />
            <Columns>

                <telerik:GridBoundColumn DataField="ProjectID" UniqueName="ProjectID" FilterControlAltText="Filter ProjectID column" HeaderText="ProjectID" ReadOnly="True" SortExpression="ProjectID" Display="false">
                    <ColumnValidationSettings>
                        <ModelErrorMessage Text=""></ModelErrorMessage>
                    </ColumnValidationSettings>
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn DataField="ContactType" HeaderText="Contact Type">
                    <ItemTemplate>
                        <asp:Label Text='<%# Eval("ContactTypeDesc")%>' runat="server" />
                    </ItemTemplate>
                    <InsertItemTemplate>
                        <telerik:RadDropDownList ID="ddlContactType" runat="server" DropDownWidth="100%" SelectedValue='<%# Bind("ContactType") %>' DataSourceID="SqlDataSource2" DataValueField="ContactTypeID" DataTextField="ContactTypeDesc" />
                        <br />
                        <asp:RequiredFieldValidator Display="Dynamic" ErrorMessage="* Required Field" ForeColor="Red" ControlToValidate="ddlContactType" runat="server" />
                    </InsertItemTemplate>
                </telerik:GridTemplateColumn>

                <telerik:GridTemplateColumn DataField="ContactName" HeaderText="Contact Name" SortExpression="ContactName" UniqueName="ContactName" FilterControlAltText="Filter ContactName column">
                    <ItemTemplate>
                        <asp:Label Text='<%# Eval("ContactName")%>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadTextBox ID="txtName" runat="server" Text='<%# Bind("ContactName")%>' MaxLength="100"></telerik:RadTextBox><br />
                        <asp:RequiredFieldValidator Display="Dynamic" ErrorMessage="* Required Field" ForeColor="Red" ControlToValidate="txtName" runat="server" />
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>

                <telerik:GridTemplateColumn DataField="ContactEmailAddress" HeaderText="Contact Email">
                    <ItemTemplate>
                        <asp:Label Text='<%# Eval("ContactEmailAddress")%>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadTextBox ID="txtEmail" runat="server" Text='<%# Bind("ContactEmailAddress")%>' MaxLength="100"></telerik:RadTextBox><br />
                        <asp:RegularExpressionValidator ID="emailValidator" runat="server" Display="Dynamic" ForeColor="Red"
                                                        ErrorMessage="Please, enter valid e-mail address." ValidationExpression="^[\w\.\-]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]{1,})*(\.[a-zA-Z]{2,3}){1,2}$"
                                                        ControlToValidate="txtEmail">
                        </asp:RegularExpressionValidator>
                        <asp:RequiredFieldValidator Display="Dynamic" ErrorMessage="* Required Field" ForeColor="Red" ControlToValidate="txtEmail" runat="server" />
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn DataField="ContactInternationalNumber" HeaderText="International Code">
                    <ItemTemplate>
                        <asp:Label Text='<%# String.Format("+{0}", Eval("ContactInternationalNumber"))%>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadDropDownList ID="ddlCountryCodes" runat="server" DropDownHeight="150px" DropDownWidth="100%" SelectedValue='<%# Bind("ContactInternationalNumber")%>' DataSourceID="SqlDataSource3" DataValueField="CountryCode" DataTextField="Country" />
                        <br />
                        <asp:RequiredFieldValidator Display="Dynamic" ErrorMessage="* Required Field" ForeColor="Red" ControlToValidate="ddlCountryCodes" runat="server" />
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn DataField="ContactPhoneNumber" HeaderText="Contact Phone">
                    <ItemTemplate>
                        <asp:Label Text='<%# Eval("ContactPhoneNumber")%>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadTextBox ID="txtPhoneNumber" runat="server" MaxLength="100" Text='<%# Bind("ContactPhoneNumber")%>' /><br />
                        <%--<telerik:RadMaskedTextBox ID="radMskTxtPhoneNumber" runat="server" SelectionOnFocus="SelectAll" PromptChar="_" Mask="(###) ###-####" Text='<%# Bind("ContactPhoneNumber")%>' />--%>
                        <asp:RequiredFieldValidator Display="Dynamic" ErrorMessage="* Required Field" ForeColor="Red" ControlToValidate="txtPhoneNumber" runat="server" />
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>

                <telerik:GridBoundColumn DataField="CreatedBy" HeaderText="Created By" ReadOnly="true" SortExpression="CreatedBy" UniqueName="CreatedBy" FilterControlAltText="Filter CreatedBy column">
                    <ColumnValidationSettings>
                        <ModelErrorMessage Text=""></ModelErrorMessage>
                    </ColumnValidationSettings>
                </telerik:GridBoundColumn>

                <telerik:GridBoundColumn DataField="CreateDate" HeaderText="Create Date" DataFormatString="{0:MM-dd-yyyy}" ReadOnly="true" SortExpression="CreateDate" UniqueName="CreateDate" FilterControlAltText="Filter CreateDate column" DataType="System.DateTime">
                    <ColumnValidationSettings>
                        <ModelErrorMessage Text=""></ModelErrorMessage>
                    </ColumnValidationSettings>
                </telerik:GridBoundColumn>

                <telerik:GridBoundColumn DataField="LastModifiedBy" HeaderText="Last Modified By" ReadOnly="true" SortExpression="LastModifiedBy" UniqueName="LastModifiedBy" FilterControlAltText="Filter LastModifiedBy column">
                    <ColumnValidationSettings>
                        <ModelErrorMessage Text=""></ModelErrorMessage>
                    </ColumnValidationSettings>
                </telerik:GridBoundColumn>

                <telerik:GridBoundColumn DataField="LastModifiedDate" HeaderText="Last Modified Date" ReadOnly="true" DataFormatString="{0:MM-dd-yyyy}" SortExpression="LastModifiedDate" UniqueName="LastModifiedDate" FilterControlAltText="Filter LastModifiedDate column" DataType="System.DateTime">
                    <ColumnValidationSettings>
                        <ModelErrorMessage Text=""></ModelErrorMessage>
                    </ColumnValidationSettings>
                </telerik:GridBoundColumn>

            </Columns>
        </MasterTableView>
    </telerik:RadGrid>

【问题讨论】:

    标签: vb.net telerik telerik-grid radgrid


    【解决方案1】:

    请尝试以下代码 sn-p。

    Protected Sub RadGrid1_ItemInserted(source As Object, e As GridInsertedEventArgs)
        Dim editformItem As GridEditFormInsertItem = DirectCast(e.Item, GridEditFormInsertItem)
    
        Dim txtName As RadTextBox = DirectCast(editformItem.FindControl("txtName"), RadTextBox)
        Dim ddlContactType As RadDropDownList = DirectCast(editformItem.FindControl("ddlContactType"), RadDropDownList)
        ' You can access textbox and dropdownlist here
    
    End Sub
    

    Protected Sub RadGrid1_ItemInserted(source As Object, e As GridInsertedEventArgs)
        Dim editformItem As GridEditableItem = DirectCast(e.Item, GridEditableItem)
    
        Dim txtName As RadTextBox = DirectCast(editformItem.FindControl("txtName"), RadTextBox)
        Dim ddlContactType As RadDropDownList = DirectCast(editformItem.FindControl("ddlContactType"), RadDropDownList)
        ' You can access textbox and dropdownlist here
    
    End Sub
    

    如果有任何问题,请告诉我。

    【讨论】:

    • 非常感谢@Jayesh。第二个解决方案有效并完成了工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 2013-02-17
    • 2019-05-14
    • 1970-01-01
    • 2013-02-21
    相关资源
    最近更新 更多