BJ, I appreciate your answers & may of the things I've gleaned about ofbiz, to date, have been aided by your answers to others in the mail archive.
The issue that Adrian described in a much more succinct nut shell (my question was more like a bomb shell) "Incrementing a field's value in the <row-actions> element does not increment the value - it remains the same." Might have to do with the fact that 'itemIndex' is not a field but a dynamic calculation, done by the hidden paginating mechanism. Might be on the wrong track here, but it would explain how if there's a sub list it pushes all the indexes up. The missing piece of the puzzle for me as a general rule has always been where is the code that reads the xml, many answers must be in there. So I'll have a look in ScreenRender & related classes. Often just typing up a question to send to this user list, has helped me frame a problem & I suspect that people who search the mail archives find their own problems framed therein, also. Actually getting an answer is alway a bonus not an expectation. :) On Fri, Dec 2, 2011 at 3:20 PM, BJ Freeman <[email protected]> wrote: > having had to learn from the code with no documentation, I don't have > much sympathy for those that wanted it handed to them on a plate. > the answer I gave you answers a lot. Sorry you are unable to glean the > info you need. > > Justin Robinson sent the following on 12/2/2011 1:21 AM: > > Thanks for your answer what you mentioned here can all be found in ofbiz > > resources online, even the Apache Ofbiz cookbook & Apache Ofbiz > > Developement book only give you the basics, but without a precise > > understanding of the inner workings, it's time consuming to reverse > > engineer this information out, in order to get fine grain control of > ofbiz > > widgets. > > > > If you are able to give me some deeper insight into ofbiz widgets or a > > place to find that info.........it'd be much appreciated. > > > > It seemed likely that "row-actions" would be executed before each row is > > rendered. (I mean what else could "row-actions" be) > > > > But the problem is that whenever it happens it must be before itemIndex > is > > set (though even that doesn't make complete sense, in view of the test > > results) > > > > Placing the groovy scriplet, see in the example, in "row-actions" results > > in each row having the same number. > > > > The following works, problem is this is not supposed to be a link. > > > > <field name="fieldName" title="headerName" > > > <hyperlink description="${groovy: ((viewIndex * viewSize) + > > (itemIndex + 1))}" also-hidden="false" link-type="anchor" target=""/> > > </field> > > > > I also see you can't get a field name with an expression, this must be > > because of the data binding happening behind the scenes. > > > > <field name="${groovy: ((viewIndex * viewSize) + (itemIndex + 1))}" > > title="headerName"><display /></field> > > > > Any idea's what I'm missing? > > Thanks, for the help. > > > > > > On Fri, Dec 2, 2011 at 12:19 AM, BJ Freeman <[email protected]> wrote: > > > >> all the actions inside the “row-actions” section are executed before > >> each row is rendered; this tag is similar to the “actions” tag > >> the “service” action called within the row-actions, is a convenient way > >> to invoke a service: the service name is specified with the > >> “service-name” attribute, the “field-map” elements are used to pass the > >> input parameters to the service, the “result-map” attribute defines the > >> name of the output map > >> look in > >> > specialpurpose\projectmgr\widget\forms\ProjectForms.xml#hoursNotYetBilled > >> > >> <row-actions> > >> <set field="showPosition1" value="${script:String > >> prev=(String)previousItem.get("workEffortId");return > >> !(prev!=null&&prev.equals(workEffortId));}" type="Boolean"/> > >> </row-actions> > >> > >> also look at framework\widget\dtd\widget-form.xsd > >> > >> Justin Robinson sent the following on 12/1/2011 9:46 AM: > >>> <form name="listAssetItems" type="list" target="" > list-name="AssetItems" > >>> title="" paginate-target="createAsset" paginate="true"> > >>> <actions> > >>> > >>> <entity-one entity-name="AssetHeader" > >>> value-field="assetHeader"/> > >>> <set field="assetValueQty" > >>> from-field="assetHeader.assetValueQty" type="Integer"/> > >>> <entity-condition entity-name="FindAssetItemsView" > >>> list="AssetItems"> > >>> <condition-list combine="or"> > >>> <condition-expr field-name="orderId" > >>> operator="equals" from-field="parameters.orderId"/> > >>> <condition-expr field-name="productFeatureId" > >>> operator="equals" from-field="nullField"/> > >>> </condition-list> > >>> </entity-condition> > >>> <set field="rowSeqNum" value="1" type="Integer"/> > >>> </actions> > >>> <row-actions> > >>> <set field="rowSeqNum" from-field="rowSeqNum + 1"/> > >>> </row-actions> > >>> > >>> > >>> etc......... > >>> > >>> This restults in each row displaying the number '2' is there any way to > >> ref > >>> the type="list" index. > >>> > >>> Any clues would be helpful. > >>> > >>> > >> > > > > > > > -- Regards, Justin Venture-Net Research & Development
