我正在使用RadGrid
.
在其插入模式中。我有RadTextBox
和Label
. 所以我想做的就是当我写到RadTextBox
它并失去焦点时。应该调用一个函数,该函数从数据库中检索数据并将其分配给该插入模式内的标签。
所以我无法访问插入模式中的控件。我应该如何在 textchange 事件上调用函数,RadTextBox
以及如何Label
在该插入模式中访问并获取一些数据并分配给它?
我正在使用RadGrid
.
在其插入模式中。我有RadTextBox
和Label
. 所以我想做的就是当我写到RadTextBox
它并失去焦点时。应该调用一个函数,该函数从数据库中检索数据并将其分配给该插入模式内的标签。
所以我无法访问插入模式中的控件。我应该如何在 textchange 事件上调用函数,RadTextBox
以及如何Label
在该插入模式中访问并获取一些数据并分配给它?
请检查下面的代码片段。请在您的项目/页面中添加 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;
}