我有一个包含 MasterTableView 和 DetailView 的 RadGrid。我正在尝试在删除 DetailView 行时更改 MasterTableView 中存在的 Sub Total 的值。我能够在父表中获得控件并能够更改值。然而,价值并没有体现出来。我尝试了多个选项,例如 Rebind() 方法以及 e.Item.OwnerTableView.DataBind()。这是我的 ItemCommand 函数的样子
Private Sub dbgView_ItemCommand(ByVal source As System.Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles dbgView.ItemCommand
If e.CommandName.ToLower.Equals(GlobalConstants.Key_Delete_CommandName) And e.Item.OwnerTableView.Name = "Tax" Then
dataItem = DirectCast(e.Item.OwnerTableView.ParentItem, GridDataItem)
Dim numSubTotal As NumericBox = dataItem.FindControl("numAmount")
numSubTotal.Text = "New Value"
' e.Item.OwnerTableView.DataBind()
End If
有人可以帮我理解为什么新价值没有反映吗?这是我的网格的样子
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="dbgView">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="dbgView"></telerik:AjaxUpdatedControl>
</telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid ID="dbgView" runat="server" AutoGenerateColumns="False" AllowPaging="True"
PageSize="5" GridLines="Horizontal" Skin="Office2010Blue" Style="border: 0 none"
AllowAutomaticInserts="True">
<PagerStyle Mode="NumericPages"></PagerStyle>
<MasterTableView Width="100%" CommandItemDisplay="Top" Name="GLLine" AllowNaturalSort="False"
PageSize="10" DataKeyNames="Key" NoDetailRecordsText="No records to display.">
<DetailTables> .....
更新 在进行进一步挖掘时,我知道我需要在执行操作后重新绑定网格。但是,当我执行重新绑定时,我遇到了异常
[HttpException (0x80004005): DataBinding: 'System.Collections.DictionaryEntry' 不包含名为 'TaxID' 的属性。] System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName) +384 Telerik.Web。 UI.GridTableView.PopulateDataKey(Object dataItem, DataKey key, String name) +457 Telerik.Web.UI.GridTableView.PopulateDataKeys(Object dataItem) +241
但是,我在正常操作期间没有遇到此问题。否则,对于所有正常操作,我都可以找到此数据密钥。可能出了什么问题?
更新 根据 Telerik 的以下链接,删除详细表行时不会更新主表。
http://www.telerik.com/forums/master-grid-not-rebinding-after-detail-table-delete-command
我正在尝试重新绑定,正如本网站中提到的那样。但是,如上所述,我对 DataKeyValues 感到异常。任何指针都会有帮助。