teleerik网格-值不反映在RadGrid中的ItemCommand更改中



我有一个包含MasterTableView和DetailView的RadGrid。我试图改变subtotal的值在MasterTableView上删除DetailView行。我能够在父表中获得控件,并且能够更改值。然而,价值并没有反映出来。我尝试了多种选择,例如Rebind()方法以及e.p eitem . 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(对象容器,字符串propName) +384Telerik.Web.UI.GridTableView。PopulateDataKey(对象数据项,数据关键字,字符串名称)+457Telerik.Web.UI.GridTableView。PopulateDataKeys(objectdataitem) +241

然而,我没有得到这个问题在我的正常操作。我能找到这个数据,否则所有的正常操作。哪里出了问题?

根据Telerik的链接,当一个详细表的行被删除时,主表不会被更新。

http://www.telerik.com/forums/master-grid-not-rebinding-after-detail-table-delete-command

我正在尝试重新绑定,正如在这个网站上提到的。然而,我得到例外的DataKeyValues如上所述。任何指示都很有用。

问题已解决!我得到了很多链接,这些链接指导我执行Rebind()操作。然而,这开始产生了许多其他问题。这个问题是通过编写一个Javascript方法来处理GridButtonColumn的onclick事件,通过传递来自DetailView和Master Table View的字段的控件id来解决的。

相关内容

  • 没有找到相关文章

最新更新