Craig, 

Yep. <table> makes sense for "show-and-forget" use pattern.

The challenge with <table> is that things become complicated when there is 
a need to receive and act on events on row selection/de-section, 
pagination, getting the entire data object out of the row etc. I tried that 
but discovered that I'm reinventing CellTable.

At any rate, the only snag I had with CellTable is unexpected behavior with 
pageSize set to 0. It would be great to have better Javadoc for that, or 
throwing IllegalArgumentException for 0 size.

On Thursday, October 21, 2021 at 10:38:17 PM UTC-7 Craig Mitchell wrote:

> Just to clarify my comment.  I find it easier to use pure HTML + CSS then 
> GWT's built in CellTable etc.
>
> Eg:
> <table ui:field="myTable"></table>
> @UiField TableElement myTable;
> TableRowElement row = myTable.insertRow(...);
> ...
>
> Then you can use all the fancy CSS styles, that others have written to 
> make tables look pretty.  No need to mangle them into what GWT wants.
>
> Adding GWT widgets into the table is a little annoying that you need to 
> call onAttach to get their events to work, but that's a minor inconvience.
>
> Anyhow, I wasn't suggesting writing any JavaScript.  :)
>
> Also not saying don't use CellTable.  Maybe you have a massive amount of 
> data, and all the fancy databinding will save you time in the long run.
>
> On Friday, 22 October 2021 at 2:37:14 am UTC+11 ime...@gmail.com wrote:
>
>> Hi Tomas,
>>
>> First, pls. let me thank you and the team for the amazing work on GWT.
>>
>> As for the documentation, I'd say it's lacking an example for importing 
>> custom widgets  because the way some of use read the XML. Personally I just 
>> automatically skip over the xmls section because it contains "standard" GWT 
>> namespaces. 
>>
>> I think the docs would benefit from explicitly stating
>>
>>  "To import your own widget com.example.gwt.client.SampeTextField, use 
>> the xmlns to add a package with your own packages and then use the prefix 
>> in the body of the template. For example:
>>
>> <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
>>     xmlns:e='urn:import:com.example.gwt.client'>
>>
>>   <e:SampeTextField displaySize=10/>
>>
>> </ui:UiBinder>
>> "
>> On Thursday, October 21, 2021 at 4:20:49 AM UTC-7 t.br...@gmail.com 
>> wrote:
>>
>>> Is this 
>>> <http://www.gwtproject.org/doc/latest/DevGuideUiBinder.html#Hello_Widget_World>
>>>  
>>> not enough? Buried too deep? Lacking examples and/or a step-by-step?
>>>
>>> In order to use a set of widgets in a ui.xml template file, you need to 
>>> tie their package to an XML namespace prefix. That’s what’s happening in 
>>> this attribute of the 
>>> root <ui:uibinder> element: 
>>> xmlns:g='urn:import:com.google.gwt.user.client.ui'. 
>>> This says that every class in the com.google.gwt.user.client.ui package can 
>>> be used as an element with prefix g and a tag name matching its Java class 
>>> name, like <g:ListBox>.
>>>
>>> See how the g:ListBox element has a visibleItemCount='1' attribute? That 
>>> becomes a call to ListBox#setVisibleItemCount(int) 
>>> <http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/ListBox.html#setVisibleItemCount-int->.
>>>  
>>> Every one of the widget’s methods that follow JavaBean-style conventions 
>>> for setting a property can be used this way.
>>>
>>> On Thursday, October 21, 2021 at 6:32:24 AM UTC+2 ime...@gmail.com 
>>> wrote:
>>>
>>>> Hey, hey, hey,
>>>>
>>>> I'm one of us Javascript-deaf. With GWT I'm back to my a screen-a-day 
>>>> in pure Java. Just loving it.
>>>>
>>>> Still, would GWT team be accepting of some PRs to update Javadocs? Took 
>>>> me a day of Googling to figure out how to make use of custom widgets in UI 
>>>> Binder templates.
>>>>
>>>> Slava
>>>>
>>>>
>>>> On Wednesday, October 20, 2021 at 7:15:59 PM UTC-7 Craig Mitchell wrote:
>>>>
>>>>> GWT does many great things.  Implementation of lists and tables wasn't 
>>>>> one of them (IMHO).
>>>>>
>>>>> If GWT 3 ever comes out.  It will be great to have separation of this 
>>>>> stuff.
>>>>>
>>>>> However, to answer your question, yes, it would make sense, I just 
>>>>> don't know what the likelihood of a 2.9.1 release is.
>>>>> On Tuesday, 19 October 2021 at 2:36:28 pm UTC+11 ime...@gmail.com 
>>>>> wrote:
>>>>>
>>>>>> Folks, 
>>>>>>
>>>>>> Just following up on what turned to be my own blunder. Using 
>>>>>> ListDataProvider doesn't work when the CellTable is created using 
>>>>>> pageSize 
>>>>>> = 0. 
>>>>>>
>>>>>> super(0, resources, keyProvider);
>>>>>>
>>>>>> It still works when using setRowCount(); setRowData();.
>>>>>>
>>>>>> So I fixed it for the time being by setting a meaningfully large 
>>>>>> pageSize.
>>>>>>
>>>>>> Here is the question: would it make sense to add a bit more to the 
>>>>>> Javadoc for pageSize. Or maybe checking for 0 and throwing 
>>>>>> IllegalArgumentException?
>>>>>>
>>>>>> On Friday, September 24, 2021 at 4:44:10 PM UTC-7 Slava Imeshev wrote:
>>>>>>
>>>>>>> So, I'm following basic examples, and I just cannot get it to work. 
>>>>>>> The populate() method below using ListDataProvider leaves the table 
>>>>>>> empty. populateWorking() works. Any hints?
>>>>>>>
>>>>>>> public class GapAnalysisListTable extends CellTable<GapAnalysisVO> {
>>>>>>>
>>>>>>> public GapAnalysisListTable() {
>>>>>>>
>>>>>>> // Create a data provider.
>>>>>>> dataProvider = new ListDataProvider<>(GapAnalysisVO::getId);
>>>>>>>
>>>>>>> // Connect the table to the data provider.
>>>>>>> dataProvider.addDataDisplay(this);
>>>>>>> }
>>>>>>>
>>>>>>> public void populate(final GapAnalysisVO[] gapAnalysisVOList) {
>>>>>>>
>>>>>>> final List<GapAnalysisVO> list = dataProvider.getList();
>>>>>>> list.addAll(Arrays.asList(gapAnalysisVOList));
>>>>>>> dataProvider.refresh();
>>>>>>> }
>>>>>>>
>>>>>>> public void populateWorks(final GapAnalysisVO[] gapAnalysisVOList) {
>>>>>>>
>>>>>>> setRowCount(gapAnalysisVOList.length);
>>>>>>> setRowData(Arrays.asList(gapAnalysisVOList));
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/29b286d9-fdc9-4816-a225-77c6d9910e00n%40googlegroups.com.

Reply via email to