在RadGrid的插入模式下,将文本加载到RadTextBox的文本更改事件上的Label

时间:2012-06-14 06:56:06

标签: telerik

我正在使用RadGrid

在其插入模式中。我有RadTextBoxLabel。 所以我想要做的就是当我写入RadTextBox和迷失焦点时。应该调用一个函数,该函数从数据库中检索数据并将其分配给该插入模式中的Label。

所以我无法访问插入模式中的控件。 我应如何在RadTextBox的textchange事件上调用函数,如何在该插入模式中访问Label并获取一些数据并分配给它?

1 个答案:

答案 0 :(得分:0)

请查看下面的代码段。 请在项目/页面中添加Jquery引用。

的.js

  function ValueChanged(sender, eventArgs) {

            var newvalueoftextbox = eventArgs.get_newValue();

            var id = sender.get_id();
            id = id.replace("RadTextBox1", "Label1");
            var Label1 = $get(id);
            // your logic come here - get value from DB
            Label1.innerHTML = "Your Value";
        }

的.aspx

 <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" AllowCustomPaging="True"
        OnNeedDataSource="RadGrid1_NeedDataSource" GridLines="None" ShowGroupPanel="True"
        OnItemDataBound="RadGrid1_ItemDataBound">
        <MasterTableView CommandItemDisplay="Top">
            <Columns>
                <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name">
                </telerik:GridBoundColumn>
                <telerik:GridTemplateColumn>
                    <EditItemTemplate>
                        <telerik:RadTextBox ID="RadTextBox1" runat="server">
                        <ClientEvents OnValueChanged="ValueChanged" />
                        </telerik:RadTextBox>
                        <asp:Label ID="Label1" runat="server"></asp:Label>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridEditCommandColumn>
                </telerik:GridEditCommandColumn>
            </Columns>
        </MasterTableView>
    </telerik:RadGrid>

.aspx.cs

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    dynamic data = new[] {
            new { ID = 1, Name ="Name_1"},
            new { ID = 2, Name = "Name2"},
            new { ID = 3, Name = "Name3"},
            new { ID = 4, Name = "Name4"},
            new { ID = 5, Name = "Name5"}
        };
    RadGrid1.DataSource = data;
}