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.
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.
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;
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.