关于SWT table刷新的一个解决办法

关于SWT table刷新的一个解决办法

在table中添加数据时,当我们想刷新表格重新填充数据时如果不加操作直接添加的话会出现如下这种情况:

第一次填充数据
第一次填充的数据
第二次填充数据
第二次填充的数据


在查阅如何解决此问题的过程中,看到一种办法,是调用

Table.clearAll();

但是会出现如下这种情况:
第一次填充数据
第一次填充的数据
第二次填充数据
第二次的填充的数据


可以很明显的看到,虽然第一次的数据消失了,但是第一次填充数据后所占用的tableItem的位置还是保留的,这明显不符合我们所希望看到的结果。

于是我在研究了table和tableItem所包含的一些方法后,找到了一种解决办法

            TableItem tableItems[] = tableQueryAccount.getItems();//得到所有的tableItem
            for(int i = 0; i<tableItems.length; i++)
            {
                tableItems[i].dispose();//释放
            }

看下添加此方法后运行的结果:
第一次填充数据
第一次填充的数据
第二次填充数据
第二次填充的数据

可以看到再次添加数据后,旧的tableItem项已经消失,并且是从表格的第一项开始依此添加。

猜你喜欢

转载自blog.csdn.net/u010896595/article/details/45950245
swt