Re: Grid custom no field

abangkis <[email protected]>
Newsgroups gmane.comp.java.tapestry.user
Message-ID <CAGqeSzXg=Ykm3pQFiVpt+P1yQVAkTAfOaLqxprXXZZQADxPGiA@mail.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 <[email protected]> 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 <[email protected]>
>> wrote:
>> >
>> > Create a component?
>> >
>> > --
>> > Chris
>> >
>> > On Thu, Apr 19, 2018 at 5:53 AM, abangkis <[email protected]> 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: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> --
> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.