4

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

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

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

很抱歉,我无法在任何小提琴中重现这一点,但恐怕很难与我的情况相匹配。

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

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

4

1 回答 1

1

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

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

从文档中,

通知我们发生了数据更改,在公共 api 中用于用户告诉我们他们何时更改了数据或我们的手表无法获取的其他事件

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

签出这个线程

于 2016-05-31T19:37:10.013 回答