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

我有Angular UI-Grid(
http://ui-grid.info/)的问题.网格在用户单击按钮后出现的模态窗口中实现.

服务以这种方式工作:用户选择要准备的数据集并单击按钮.点击按钮后,网站发送请求休息服务接收数据.收到数据模式后,显示表格.列数取决于用户请求的数据.

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

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

对不起,我无法在任何小提琴中重现这一点,但我很难配合我的情况.

任何帮助将非常感激.谢谢

PS.它也适用于我的另一个用户可以固定和隐藏列的表.收到全新数据后,固定/隐藏列仍然隐藏/固定.它并不酷.

最佳答案 一旦你将数据设置到网格,你应该调用这个 –

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

点赞