Datagrid创建之后,可以按照某些列进行排序,点击可以排序的列之后,列名后会出现显示升序还是降序的小箭头。现在想增加一个刷新按钮,点击后取消所有排序条件,按照原始的顺序来展示数据,并且使表头的每列恢复初始状态,即没有小箭头的状态。
反复看了Datagrid的API,没有发现可以重新渲染的方法,即便再去重新创建这个Datagrid,还是没法去掉箭头。Datagrid也不像textbox有一个destroy方法,可以先手动销毁再重新渲染。
然后刚刚突然发现Datagrid依赖的Panel组件有一个属性:cache
恍然大悟!只要在创建Datagrid 是把cache属性设置为false,就可以达到每次重建Datagrid时有重新渲染的效果啦!
cache默认为true是为了提高前端的渲染效率,避免不必要的重复渲染。不过该重新渲染的时候还是要渲染啊,哈哈。