Have a look at https://demo-trunk.ofbiz.apache.org/example/control/FormWidgetExamples#DropDownMultipleFieldExampleForm_multipleDropDownFields_title
Jacques From: "GP" <[email protected]> > Dear All, > > Would greatly a appreciate any help/clues on the check box issue as indicated > below. > > Putting it in simple words, if my check boxes are rendered via > entity-options, post form submission the check boxes are losing their values > if multiple check boxes were selected at the time of form submission. > > The specific way in which I am rendering the check boxes is given in the > mail below. > > Regards > GP > > [email protected] wrote: > >>Hi All, >> >>A related issue that I am facing is, after submission of "Find >>Request" form with a few status checkboxes checked, I am able to see >>the correct dataset being returned in the list, but I am losing all >>the status checkbox state, i.e. all status checkboxes get reset, which >>makes it impossible to access the paginated records in the next page. >> >>When I looked into the server logs, I could see an error, of trying to >>convert a list to a String while setting back the state into the >>checkbox element. >> >>As communicate in my earlier problem, my checkbox declaration in the >>"Find Request" is as given below. >> >> <field name="statusId"> >> <check allow-empty="true"> >> <entity-options entity-name="StatusItem" >>description="${description}"> >> <entity-constraint name="statusTypeId" >>operator="equals" value="CUSTREQ_STTS"/> >> <entity-order-by field-name="sequenceId"/> >> </entity-options> >> </check> >> </field> >> >>Requesting for help, thanks. >> >>Regards >>GP >> >> >>Quoting [email protected]: >> >>> Awesome!!! >>> >>> Thank you so much Nicolas, it worked like a charm. >>> >>> Regards >>> GP >>> >>> Quoting Nicolas Malin <[email protected]>: >>> >>>> Hi GP, >>>> >>>> Can you try the operator in ? as like : >>>> <field name="statusId_op"><hidden value="in"/> </field> >>>> >>>> Nicolas >>>> >>>> Le 05/03/2013 17:51, [email protected] a écrit : >>>>> Hi, >>>>> >>>>> I am trying to change the "Find Requests" screen to be able to >>>>> search by multiple status. A part of the change that I did for >>>>> this on the UI is as shown below. >>>>> >>>>> <field name="statusId"> >>>>> <check allow-empty="true"> >>>>> <entity-options entity-name="StatusItem" >>>>> description="${description}"> >>>>> <entity-constraint name="statusTypeId" >>>>> operator="equals" value="CUSTREQ_STTS"/> >>>>> <entity-order-by field-name="sequenceId"/> >>>>> </entity-options> >>>>> </check> >>>>> </field> >>>>> >>>>> This renders the status as checkboxes, and with this change I am >>>>> able to select multiple status for performing a search. The >>>>> service linked to the "Find Requests" screen is performFind, which >>>>> as I understand is a generic service used across ofbiz to find >>>>> various entities. >>>>> >>>>> <form name="ListRequests" type="list" >>>>> extends="ListRequestList" list-name="listIt"> >>>>> <actions> >>>>> <service service-name="performFind" result-map="result" >>>>> result-map-list="listIt"> >>>>> <field-map field-name="inputFields" from-field="parameters"/> >>>>> <field-map field-name="entityName" from-field="entityName"/> >>>>> <field-map field-name="orderBy" >>>>> from-field="parameters.sortField"/> >>>>> <field-map field-name="viewIndex" from-field="viewIndex"/> >>>>> <field-map field-name="viewSize" from-field="viewSize"/> >>>>> </service> >>>>> </actions> >>>>> </form> >>>>> >>>>> On debugging performFind, I found that when I select multiple >>>>> status value to perform a find, the multiple status values >>>>> translate into the following entity condition >>>>> >>>>> statusId = '{CRQ_SUBMITTED, >>>>> CRQ_ACCEPTED, CRQ_COMPLETED,CRQ_QUOATED}' >>>>> >>>>> This will never return matching resultset since the multiple >>>>> values are combined against a single condition. Ideally the >>>>> conditions should be translated to multiple status values with OR >>>>> logic, i.e. statusId= CRQ_SUBMITTED OR statusId=CRQ_ACCEPTED OR >>>>> statusId=CRQ_COMPLETED OR statusId=CRQ_QUOATED. >>>>> >>>>> Is there anyway I can achieve the above with minimum changes to >>>>> performFind service for such scenarios. >>>>> >>>>> The reason I am not inclined towards building a separate service >>>>> for this behaviour as it would involve a greater impact to the >>>>> overall stable functionality of "Find Requests". >>>>> >>>>> Would greatly appreciate help on this from the community. >>>>> >>>>> Regards >>>>> GP >>>>> >>>> >>>> >>>> -- >>>> Nicolas MALIN >>>> Consultant >>>> Tél : 06.17.66.40.06 >>>> Site projet : http://www.neogia.org/ >>>> ------- >>>> Société LibrenBerry >>>> Tél : 02.48.02.56.12 >>>> Site : http://www.librenberry.net/ >>>> >>>> >>> >>> >>> >>> >> >> >
