0

私はを使用してRadGridいます。

その挿入モードで。私はとを持っRadTextBoxていLabelます。ですから、私がやりたいのは、それを書きRadTextBox、フォーカスを失ったときだけです。その上で関数を呼び出す必要があり、その関数はデータベースからデータを取得し、その挿入モード内でラベルに割り当てます。

そのため、挿入モード内のコントロールにアクセスできません。のtextchangeイベントで関数を呼び出すにはどうすればよいですか?また、その挿入モード内RadTextBoxにアクセスしてデータをフェッチして割り当てるにはどうすればよいですか?Label

4

1 に答える 1

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;
}
于 2012-06-16T08:41:26.603 に答える