You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by abangkis <ab...@gmail.com> on 2018/04/19 03:53:25 UTC

Grid custom no field

Hi, when adding a custom no field to my grid, to show the no of the actual
row, i declared an int on the page and calculate the value by multiplying
the variables in the grid like the code bellow.

Is there a way to do this automatically, since for now i'm doing it
manually by copy and pasting the code to every page that uses grid.

Thank you verymuch

<table t:id="grid" t:type="grid" t:source="loans" t:row="loan"
rowIndex="idx" t:inPlace="true"
       t:add="no">
    <p:noCell>
        ${idx}
    </p:noCell>
</table>

@InjectComponent
private Grid grid;

private int idx;


public void setIdx(int idx) {
    this.idx = idx;
}

public int getIdx() {
    return grid.getRowsPerPage() * (grid.getCurrentPage() - 1) + idx + 1;
}


-- 
http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
twitter : @mreunionlabs @abangkis
page : https://plus.google.com/104168782385184990771

Re: Grid custom no field

Posted by abangkis <ab...@gmail.com>.
Hi guys, so i finally made the GridIndex component. But something is
bothering me and I wonder if I can improve it. The component still need the
page to implement an idx property, i wonder if I can pull it directly from
grid rowIndex parameter. Here's the code for my component.

page tml

<t:grid t:id="grid" t:source="cities" t:row="city" rowIndex="idx"
t:inPlace="true"
t:add="no" t:exclude="id" t:reorder="no" class="table table-striped">
<p:noCell>
<t:mreunionlabs.GridIndex idx="idx" grid="grid"/>
</p:noCell>
</t:grid>

page java properties

@InjectComponent
@Property
private Grid grid;

@Property
private int idx;

The component code

public class GridIndex {

    // Parameters

    @Parameter(required = true)
    @Property
    private int idx;

    @Parameter(required = true)
    @Property
    private Grid grid;

    @BeginRender
    void begin(MarkupWriter writer) {
        int no = grid.getRowsPerPage() * (grid.getCurrentPage() - 1) + idx
+ 1;
        writer.write(String.valueOf(no));
    }

}


On Fri, Apr 20, 2018 at 2:34 PM, abangkis <ab...@gmail.com> wrote:

> Hi chris and geoff, I guess creating a component or mixin is the best
> approach. Thanks.
>
> On Thu, Apr 19, 2018 at 5:12 PM, JumpStart <geoff.callender.jumpstart@
> gmail.com> wrote:
>
>> Or a mixin?
>>
>>         http://jumpstart.doublenegative.com.au/jumpstart/examples/
>> lang/creatingmixins
>>         http://jumpstart.doublenegative.com.au/jumpstart/examples/
>> tables/gridbeanmodel1
>>
>> Geoff
>>
>> > On 19 Apr 2018, at 2:20 pm, Chris Poulsen <ma...@nesluop.dk>
>> wrote:
>> >
>> > Create a component?
>> >
>> > --
>> > Chris
>> >
>> > On Thu, Apr 19, 2018 at 5:53 AM, abangkis <ab...@gmail.com> wrote:
>> >
>> >> Hi, when adding a custom no field to my grid, to show the no of the
>> actual
>> >> row, i declared an int on the page and calculate the value by
>> multiplying
>> >> the variables in the grid like the code bellow.
>> >>
>> >> Is there a way to do this automatically, since for now i'm doing it
>> >> manually by copy and pasting the code to every page that uses grid.
>> >>
>> >> Thank you verymuch
>> >>
>> >> <table t:id="grid" t:type="grid" t:source="loans" t:row="loan"
>> >> rowIndex="idx" t:inPlace="true"
>> >>       t:add="no">
>> >>    <p:noCell>
>> >>        ${idx}
>> >>    </p:noCell>
>> >> </table>
>> >>
>> >> @InjectComponent
>> >> private Grid grid;
>> >>
>> >> private int idx;
>> >>
>> >>
>> >> public void setIdx(int idx) {
>> >>    this.idx = idx;
>> >> }
>> >>
>> >> public int getIdx() {
>> >>    return grid.getRowsPerPage() * (grid.getCurrentPage() - 1) + idx +
>> 1;
>> >> }
>> >>
>> >>
>> >> --
>> >> http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
>> >> twitter : @mreunionlabs @abangkis
>> >> page : https://plus.google.com/104168782385184990771
>> >>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
> --
> http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
> twitter : @mreunionlabs @abangkis
> page : https://plus.google.com/104168782385184990771
>



-- 
http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
twitter : @mreunionlabs @abangkis
page : https://plus.google.com/104168782385184990771

Re: Grid custom no field

Posted by abangkis <ab...@gmail.com>.
Hi chris and geoff, I guess creating a component or mixin is the best
approach. Thanks.

On Thu, Apr 19, 2018 at 5:12 PM, JumpStart <
geoff.callender.jumpstart@gmail.com> wrote:

> Or a mixin?
>
>         http://jumpstart.doublenegative.com.au/jumpstart/examples/lang/
> creatingmixins
>         http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/
> gridbeanmodel1
>
> Geoff
>
> > On 19 Apr 2018, at 2:20 pm, Chris Poulsen <ma...@nesluop.dk>
> wrote:
> >
> > Create a component?
> >
> > --
> > Chris
> >
> > On Thu, Apr 19, 2018 at 5:53 AM, abangkis <ab...@gmail.com> wrote:
> >
> >> Hi, when adding a custom no field to my grid, to show the no of the
> actual
> >> row, i declared an int on the page and calculate the value by
> multiplying
> >> the variables in the grid like the code bellow.
> >>
> >> Is there a way to do this automatically, since for now i'm doing it
> >> manually by copy and pasting the code to every page that uses grid.
> >>
> >> Thank you verymuch
> >>
> >> <table t:id="grid" t:type="grid" t:source="loans" t:row="loan"
> >> rowIndex="idx" t:inPlace="true"
> >>       t:add="no">
> >>    <p:noCell>
> >>        ${idx}
> >>    </p:noCell>
> >> </table>
> >>
> >> @InjectComponent
> >> private Grid grid;
> >>
> >> private int idx;
> >>
> >>
> >> public void setIdx(int idx) {
> >>    this.idx = idx;
> >> }
> >>
> >> public int getIdx() {
> >>    return grid.getRowsPerPage() * (grid.getCurrentPage() - 1) + idx + 1;
> >> }
> >>
> >>
> >> --
> >> http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
> >> twitter : @mreunionlabs @abangkis
> >> page : https://plus.google.com/104168782385184990771
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
twitter : @mreunionlabs @abangkis
page : https://plus.google.com/104168782385184990771

Re: Grid custom no field

Posted by JumpStart <ge...@gmail.com>.
Or a mixin?

	http://jumpstart.doublenegative.com.au/jumpstart/examples/lang/creatingmixins
	http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/gridbeanmodel1

Geoff

> On 19 Apr 2018, at 2:20 pm, Chris Poulsen <ma...@nesluop.dk> wrote:
> 
> Create a component?
> 
> -- 
> Chris
> 
> On Thu, Apr 19, 2018 at 5:53 AM, abangkis <ab...@gmail.com> wrote:
> 
>> Hi, when adding a custom no field to my grid, to show the no of the actual
>> row, i declared an int on the page and calculate the value by multiplying
>> the variables in the grid like the code bellow.
>> 
>> Is there a way to do this automatically, since for now i'm doing it
>> manually by copy and pasting the code to every page that uses grid.
>> 
>> Thank you verymuch
>> 
>> <table t:id="grid" t:type="grid" t:source="loans" t:row="loan"
>> rowIndex="idx" t:inPlace="true"
>>       t:add="no">
>>    <p:noCell>
>>        ${idx}
>>    </p:noCell>
>> </table>
>> 
>> @InjectComponent
>> private Grid grid;
>> 
>> private int idx;
>> 
>> 
>> public void setIdx(int idx) {
>>    this.idx = idx;
>> }
>> 
>> public int getIdx() {
>>    return grid.getRowsPerPage() * (grid.getCurrentPage() - 1) + idx + 1;
>> }
>> 
>> 
>> --
>> http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
>> twitter : @mreunionlabs @abangkis
>> page : https://plus.google.com/104168782385184990771
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Grid custom no field

Posted by Chris Poulsen <ma...@nesluop.dk>.
Create a component?

-- 
Chris

On Thu, Apr 19, 2018 at 5:53 AM, abangkis <ab...@gmail.com> wrote:

> Hi, when adding a custom no field to my grid, to show the no of the actual
> row, i declared an int on the page and calculate the value by multiplying
> the variables in the grid like the code bellow.
>
> Is there a way to do this automatically, since for now i'm doing it
> manually by copy and pasting the code to every page that uses grid.
>
> Thank you verymuch
>
> <table t:id="grid" t:type="grid" t:source="loans" t:row="loan"
> rowIndex="idx" t:inPlace="true"
>        t:add="no">
>     <p:noCell>
>         ${idx}
>     </p:noCell>
> </table>
>
> @InjectComponent
> private Grid grid;
>
> private int idx;
>
>
> public void setIdx(int idx) {
>     this.idx = idx;
> }
>
> public int getIdx() {
>     return grid.getRowsPerPage() * (grid.getCurrentPage() - 1) + idx + 1;
> }
>
>
> --
> http://www.mreunionlabs.net/ <http://www.mreunion-labs.net/>
> twitter : @mreunionlabs @abangkis
> page : https://plus.google.com/104168782385184990771
>