【发布时间】:2014-11-27 18:02:19
【问题描述】:
我有一个带有可扩展行的 RadGrid,其中每个扩展的 NestedViewTemplate 包含一个 RadGrid。子 RadGrids 有一个可见的页脚和几列(我已经包括了一个,“DtlTransAmount”):
<NestedViewTemplate>
<asp:Panel ID="pnDetailItems" runat="server" >
<telerik:RadGrid ID="rgDetailItems" runat="server" ShowFooter="true" Width="1675px" AutoGenerateColumns="false" AllowPaging="false"
OnItemDataBound="rgDetailItems_ItemDataBound" ... >
<MasterTableView>
<Columns>
<telerik:GridBoundColumn HeaderText="Amount" DataField="DtlTransAmount" UniqueName="DtlTransAmount" SortExpression="DtlTransAmount"
HeaderStyle-Width="20px" ItemStyle-Width="20px" FilterControlWidth="20px" DataFormatString="{0:$0.00}"/>
我在后面的代码中的 ItemDataBound 事件中设置了每个子 RadGrid 的页脚文本:
private void rgDetailItemsItemDataBound(object sender, GridItemEventArgs e)
{
var foot = e.Item as GridFooterItem;
var r = sender as RadGrid;
foot["DtlTransAmount"].Text = "Total Amount: $" + GetMainSumFromDetailRadGrid(r);
//...
这使得每个子 RadGrid 的“DtlTransAmount”列底部都有类似
总金额:$10.00
现在,当子 RadGrid 中的任何文本框单元格失去焦点时(因为用户更改了数量值),我需要通过 JavaScript 调整这个总和值(“10.00”)。我可以使用调用对象的单个输入参数成功调用函数,但是我不确定该怎么做:
function detailAmountUpdate(obj) {
// alert("Made it here at least...");
// no idea what to do now.
}
例如,如果我有 3 个展开的行(因此 3 个子 RadGrid 可见)并且我从第二行的子 RadGrid 中的文本框取消焦点,我如何更新该子 RadGrid 的页脚中的标签?所有 DOM 函数(如 getElementsByTagName)或 Telerik API 函数(如 get_nestedViews)都返回空、未定义或 null。
【问题讨论】:
标签: javascript c# asp.net telerik radgrid