Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I don't understand why affablebloke's answer is marked as "correct" and upvoted so much!? </p> <p>Caffeine Coma asked about updating a <strong>Cell Browser</strong> and not a <strong>Cell Table</strong>, that are totally different things!</p> <p>For me, the following trick worked: I define the <code>DataProvider</code>s outside of the <code>TreeViewModel</code> and pass them as an argument to the constructor. In my case they provide empty data structures at the beginning. </p> <p>Now you have a reference to the <code>DataProvider</code>s from "outside" in order to update the Cell Browser.</p> <p>Example:</p> <pre><code>private class MyTreeViewModel implements TreeViewModel { AbstractDataProvider&lt;MyDataStructure&gt; myDataProvider; public MyTreeViewModel(AbstractDataProvider&lt;MyDataStructure&gt; myDataProvider) { this.myDataProvider = myDataProvider; } @Override public &lt;T&gt; NodeInfo&lt;?&gt; getNodeInfo(T value) { if(value == null) { // Level 0 return new DefaultNodeInfo&lt;MyDataStructure&gt;(myDataProvider, new MyCellImpl()); } } } AbstractDataProvider&lt;MyDataStructure&gt; myDataProvider = new ListDataProvider&lt;MyDataStructure&gt;(new ArrayList&lt;MyDataStructure&gt;()); // or AsyncDataProvider MyTreeViewModel myModel = new MyTreeViewModel(myDataProvider); CellBrowser&lt;MyDataStructure&gt; cellBrowser = new CellBrowser.Builder&lt;MyDataStructure&gt;(myModel, null).build(); /* here you can do some stuff, for example, bind the CellBrowser to a template with UiBinder */ /* if you use a ListDataProvider, do */ myDataProvider.setList(myDataStructureFromSomewhere); myDataProvider.refresh(); /* if you use an AsyncDataProvider, do */ myDataProvider.updateRowData(..., myDataStructureFromSomewhere); myDataProvider.updateRowCount(...); </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload