1

DataGrid を使用して、stacklayoutpanel に配置しようとしました。ListDataProvider のデータを提供するときに、CellTable は非アクティブなタブにあるためブラウザーに表示されません (ただし、DOM ツリーには表示されます)。CellTable を含むタブに切り替えた後、そこにはデータがありません。タブがデータ プロビジョニング時にアクティブである場合、テーブルは正しく入力されています。列を並べ替え可能にしたので、並べ替えをクリックすると、データが正しく表示されます。別のネイティブ タブをクリックしたときに、データが自動的に表示されるようにしたい。celltable を使用するように切り替えれば、これは問題になりません。

これは GWT のバグであり、GWT 2.5 RC で修正されていることはわかっていました。しかし、上司はまだ GWT2.5RC を使用することを望んでいません。これを修正するには回避策が必要です。私は誰かが datagrid.redraw() がそれを修正できると言ったことを知っていました。疲れましたが、表示がおかしいです。たとえば、DataGrid に 10 行あり、2 番目のタブを選択した後、redraw() が呼び出され、データが自動的に表示されますが、データとスクロール バーを表示するブロックは 10 ピクセルほどしかありません。他の行を表示するには、下にスクロールする必要があります。タブの下部には、使用されていないスペースがたくさんあります。誰かがこれを修正する方法を教えてもらえますか? それで、私はそれを修正するために間違った方法を使用しましたか?この問題を解決するために他にできることはありますか。誰かヒントを教えてください。

ありがとう

よろしくお願いします

4

2 に答える 2

1

I have been struggled with this thing for almost 3 days. Thanks for Papick G. Taboada and Thomas Broyer. You guys' ideas are really helpful. Bascially either of your solution does not solve the problem. but after I combined both solutions, dang~ it worked!!.

So. the completed solution is that, add the selection handler on the non-active tab, then when the event is called, used datagrid.onResize() and then stackLayoutPanel.forcelayout(). This can solve my problem. I have also tried replacing datagrid.onResize() with datagrid.redraw(). It works as well.

I hope this can help other people who have the same problem before using GWT 2.5RC

于 2012-07-08T04:25:25.540 に答える