cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Help us improve the PTC Community by taking this short Community Survey! X

How to Create Multivalued Picker for an IBA Using Datautlity

SVG_10111100101
7-Bedrock

How to Create Multivalued Picker for an IBA Using Datautlity

Version: Windchill 12.0

 

Use Case: I have a requirement to create a Mutlivalued picker for a IBA in part creation page. When user clicks on the picker it should open the custom JSP page in which user enters some data , this data should get populated in the picker textbox and and need to get persists when user clicks finish .


Description:

I have created Picker using PickerInputComponent and MultiValuedInputComponent using datautility and returning the MultiValuedInputComponent from getDataValue  method. 

SVG_10111100101_0-1732772877082.png

 

I have encountered two problems with this approach . 

1.  Data is not getting persisted in the DB .

2. when I clicked on Plus button it is rendering one more Plus button instead of minus button as show below.

SVG_10111100101_1-1732772977672.png

Please help me how to get the value persist in DB and and to get the Minus button.

 

Below is the code I used :

 

 

     HashMap<Object, Object> pickerConfigMap = new HashMap<>();
ArrayList<AttributeInputComponent> listOfInputComponent = new ArrayList();
final int columnSize = 60;
            pickerConfigMap.put("objectType", "customPicker");
            pickerConfigMap.put("componentId", "customPicker");
            pickerConfigMap.put("readOnlyPickerTextBox", "false");
            pickerConfigMap.put("pickerId", componentId);
            pickerConfigMap.put("width", "32");
            pickerConfigMap.put("maxLength", "200");
            pickerConfigMap.put("pickerCallback", "customPickerCallBack");

            PickerInputComponent pickerInputComponent = new PickerInputComponent(attributeLabelName, value,
                    PickerRenderConfigs.getPickerConfigs(pickerConfigMap), "customPickerWizard", "customPickerSearch", columnSize);

            listOfInputComponent.add(pickerInputComponent);
            MultiValuedInputComponent multiValuedInputComponent = new MultiValuedInputComponent(listOfInputComponent,
                    pickerInputComponent);
            String id = attrInputComp.getValueInputComponent().getId();
            // multiValuedInputComponent.setId(id);

            String str1 = pickerInputComponent.getColumnName();
            // multiValuedInputComponent.setColumnName(str1);
            String str = AttributeDataUtilityHelper.getColumnName(componentId, paramObject, modelContext);
            // multiValuedInputComponent.setName(str1);
            multiValuedInputComponent.setColumnName(str);
            multiValuedInputComponent.setMultiValued(true);
            multiValuedInputComponent.setApplyPrePopulate(true);
            multiValuedInputComponent.setVisibleElements(1);
             multiValuedInputComponent.setRenderer(new MultiValuedInputComponentRenderer());
           
            return multiValuedInputComponent;

 

 

 

1 REPLY 1

Hi @SVG_10111100101,

Thank you for your question. 

Your post appears well documented but has not yet received any response. I am replying to raise awareness. Hopefully, another community member will be able to help.

Also, feel free to add any additional information you think might be relevant.

 

Regards,

Vivek N
Community Moderation Team.

Announcements

Top Tags