angularjs - 重新加载数据后如何刷新 UI-Grid 布局

标签 angularjs angular-ui-grid ui-grid

我对 Angular UI-Grid ( http://ui-grid.info/ ) 有问题。网格在用户单击按钮后出现的模态窗口中实现。
服务以这种方式工作:用户选择要准备的数据集并单击按钮。点击按钮后网站发送请求休息服务以接收数据。接收到数据后的模态与表格显示。列数取决于用户请求的数据。

问题是,在用户更改列宽并使用此表关闭模式后,UI-Grid 会“记住”用户留下的此列宽。如果然后用户将选择另一组数据,我正在清理 GridOptions 对象并在收到数据后再次填充它。问题是行宽保持在以前的状态。
到目前为止我尝试过:

  • 使用 API core.refresh()方法 - 在调试时我可以看到这个
    方法触发了一些事件但对我的网格没有影响,
  • 删除整个 DOM 节点并在接收带有新数据的响应之前再次追加它
  • 各种不同的黑客试图使用在网格 api 中发现的许多方法 - 根本没有成功。

  • 我很抱歉我无法在任何 fiddle 中重现这一点,但我害怕匹配我的情况真的很难。

    任何帮助将不胜感激。谢谢

    附:它也适用于我的另一个表,用户可以在其中固定和隐藏列。收到全新数据后,固定/隐藏的列仍保持隐藏/固定。它并不酷。

    最佳答案

    将数据设置到网格后,您应该调用它 -

    gridApi.core.notifyDataChange( uiGridConstants.dataChange.ALL)  
    

    从文档中,

    Notifies us that a data change has occurred, used in the public api for users to tell us when they've changed data or some other event that our watches cannot pick up


    notifyDataChange告诉框架选项或 columnDefs 之一已更改。

    查看此 thread

    关于angularjs - 重新加载数据后如何刷新 UI-Grid 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37541419/

    相关文章:

    javascript - 如何将刻度盘设置为 Angular 计融合图中输入的值

    javascript - 如何在 Angular ui-grid 中显示从 json 到 ui-grid 的数据

    javascript - Angular UI Grid 重新加载单元格模板

    angularjs - 为什么 ui-grid 分页看起来这么歪?

    javascript - 使用 JavaScript 和 Angularjs 返回正确名称大小写的函数?

    javascript - AngularJS 访问复杂天气 JSON 中的值

    javascript - Angular 指令中的递归

    angularjs - 侧向滚动的 Angular ui-grid 表格

    javascript - 使用选择模块更改特定行的颜色