首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hierarchical Telerik RadGrids:如何更改明细表中的列?

Hierarchical Telerik RadGrids:如何更改明细表中的列?
EN

Stack Overflow用户
提问于 2011-10-14 02:21:45
回答 2查看 1.9K关注 0票数 0

我有一个Telerik RadGrid,它的列是生成的。RadGrid是分层的,我有RadWindows,我可以在其中动态地向我的网格添加/删除/修改列,并且RadGrid在RadWindow关闭时刷新。

我的RadWindow:

代码语言:javascript
复制
    <telerik:RadWindow ID="RadWindow1" runat="server" KeepInScreenBounds="true" CssClass="Columns"
        Title="Manage Columns" OnClientClose="refreshGrid" EnableViewState="false"
        Width="740" Height="330">
    </telerik:RadWindow>

refreshGrid Javascript函数:

代码语言:javascript
复制
     function refreshGrid(sender) {
            $find("<%= RadGrid1.ClientID %>").get_masterTableView().rebind();
            showScrollBars();
    }

如果我在第一级中添加/修改/删除列,则此方法有效,但对明细表无效。更确切地说,明细表在服务器端被正确刷新,但在客户端不被刷新。有人知道这个问题的原因吗?

我在Telerik论坛上找到了一个页面,但它没有帮助:

http://www.telerik.com/community/forums/aspnet-ajax/grid/details-table-not-refreshed-in-spite-of-detailtabledatabind-is-fired.aspx

如有任何帮助/建议,我们不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-27 01:42:45

Telerik目前不支持此功能,有关更多信息,请访问this页面。

票数 0
EN

Stack Overflow用户

发布于 2011-10-17 23:45:37

您是否在页面上使用与RadGrid相关的任何形式的Ajax?我猜,正如论坛帖子中指出的那样,部分回发可能存在问题,不一定要在必要时更新控件。所以,如果你使用的是RadAjaxManager,我建议你做得有点过火,用哪个控件来更新页面上的其他控件,然后向后退(慢慢地去掉项目),看看你是否会得到不同的结果。或者,您也可以使用以下客户端脚本(这应该可以工作,尽管我没有在本地测试过它):

代码语言:javascript
复制
   function refreshGrid(sender) {
        var myGrid = $find("<%= RadGrid1.ClientID %>");
        var myGridMasterTableView = myGrid.get_masterTableView();
        var myGridDetailTableView = myGridMasterTableView.get_detailTables()[0]; //select the first detail table
        var myGridMasterTableView.rebind();
        var myGridDetailTableView.rebind();
}

我在这里做的只是在MasterTableView和它的第一个DetailTableView上调用rebind。可能感觉有点难看,但它会强制细节表刷新:)有关更多客户端的好处,我建议通过this documentation article阅读。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7758635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档