Add parse function after initialisation

Posted by Dennis on 28-Feb-2018 06:27

Hello,

I have a comboBox where I want to Display multiple values in the dataTextField. For example customer number and name. 

But (I think) because the component is allready defined in the Kendo UI Builder I have the problem that the parse function isn't executing when I'm adding it to the dataSource of the comboBox. 

The template function is not what I need. 

Kendo UI Builder 2.0.1.13

Posted by egarcia on 02-Mar-2018 14:45

Hello,

Where are you setting the parse() function?

Is there a particular reason why you cannot use a template function?

Personally, I think that using a template or a template function for the ComboBox is simpler.

Example:

In controller.public.js:

 constructor($scope, $injector, stateData) {

       super($scope, $injector);

       this.$components['combobox0'].options.template = "<span>#: CustNum # #: Name # </span>";

 }

Is your service a Progress Data Service, REST or OData?

If you are using a Progress Data Service, you can also create an extra field in the temp-table definition and populate it via an AFTER-ROW-FILL event.

I hope this helps.

All Replies

Posted by egarcia on 02-Mar-2018 14:45

Hello,

Where are you setting the parse() function?

Is there a particular reason why you cannot use a template function?

Personally, I think that using a template or a template function for the ComboBox is simpler.

Example:

In controller.public.js:

 constructor($scope, $injector, stateData) {

       super($scope, $injector);

       this.$components['combobox0'].options.template = "<span>#: CustNum # #: Name # </span>";

 }

Is your service a Progress Data Service, REST or OData?

If you are using a Progress Data Service, you can also create an extra field in the temp-table definition and populate it via an AFTER-ROW-FILL event.

I hope this helps.

Posted by Dennis on 05-Mar-2018 03:35

I was trying to override the parse() function in the dataSource of the comboBox for example in the onShow Method of controller.public.js.

Sure, the template function is simpler but it doesn't solve the requirements beause I need both informations (CustNum and Name) in the input field of the comboBox. Also after choosing a Customer.

And it also should be possible to search for these both informations when our customer starts to type.

When I'm setting up the CustNum as dataValueField and the Name as dataTextField any input of the CustNum isn't taken into the Client-Side search.

It's a Progress Data Service. I'll try the extra field with a AFTER-ROW-Fill event. Sounds like exactly the right way of doing it for me.

Thank you very much!

I'll let you know if it was the right solution for me!

Posted by Dennis on 05-Mar-2018 04:25

The AFTER-ROW-FILL event was the solution for the problem.

This thread is closed