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 [email protected] 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 [email protected] 
>> 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 [email protected] 
>>> 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 [email protected] 
>>>>> 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 [email protected].
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