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
>