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

Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X

Need to get selected rows from a Custom MVC table in a formProcessor

SVG_10111100101
7-Bedrock

Need to get selected rows from a Custom MVC table in a formProcessor

I am using Windchill PDMLink Release 12.1 and Datecode with CPS 12.1.2.8

I have a 3 Multiple Wizards a on a custom action , in each wizard page I have a different MVC table on which I'm rendering data using Custom Bean object . When I'm submitting the wizard form , I want to get the rows selected in the MVC table in 3rd wizard page in Formprocessor. I'm not getting the values using nmcommandbean object . Please help me if there is any other way to get these values.

ACCEPTED SOLUTION

Accepted Solutions

Hello Charles,

 I managed to get the data what I need in Oid String . My problem got resolved . Thank you so much for your help.

 

I have extended the NmObject to my custom Bean created a URL encoded Json Object and setting that as Oid. In the Json object I have input all the needed data.   Below is the code I used. I got the values in formprocessor using getNmOidSelected().

 

public class customBean extends NmObject {

String partNumber;
String partName;
String partState;
String locationName;
String clientNumber;
String plantNumber;
boolean nonSelectableRow;

public customBean () {

}

public customBean (WTPart selectedPart, WTPart selectedDownStreamSystem, boolean updateFlag,String traType)
{
updateNmOid(selectedPart, selectedDownStreamSystem, updateFlag,traType);
}

private void updateNmOid(WTPart selectedPart, WTPart selectedDownStreamSystem,String traType)
{
NmSimpleOid simpleOid = new NmSimpleOid();
JSONObject joNmOid = new JSONObject();
try {
joNmOid.put("selectedPartOid", selectedPart.getPersistInfo().getObjectIdentifier().toString());
joNmOid.put("selectedDssOid", selectedDownStreamSystem.getPersistInfo().getObjectIdentifier().toString());
joNmOid.put("updateFlag", updateFlag);
joNmOid.put("transferType", traType);

String encodedBeanKey = Base64.encodeBase64URLSafeString(joNmOid.toString().getBytes());
simpleOid.setInternalName(encodedBeanKey);
} catch (JSONException ex) {

ex.printStackTrace();
}

setOid(simpleOid);
}

}

 

View solution in original post

3 REPLIES 3

Add a hidden input field in your form for each row in the MVC table. This hidden field will store the row ID or any other relevant identifier. Use JavaScript to capture the submit button click and populate the hidden field with the row ID corresponding to the clicked button. When the form is submitted, the hidden field value will be included in the request parameters. When the form is submitted, the hidden field value will be included in the request parameters. 

Hello SG_9899099,

Was the information provided helpful somehow ?

KR,

Charles.

Hello Charles,

 I managed to get the data what I need in Oid String . My problem got resolved . Thank you so much for your help.

 

I have extended the NmObject to my custom Bean created a URL encoded Json Object and setting that as Oid. In the Json object I have input all the needed data.   Below is the code I used. I got the values in formprocessor using getNmOidSelected().

 

public class customBean extends NmObject {

String partNumber;
String partName;
String partState;
String locationName;
String clientNumber;
String plantNumber;
boolean nonSelectableRow;

public customBean () {

}

public customBean (WTPart selectedPart, WTPart selectedDownStreamSystem, boolean updateFlag,String traType)
{
updateNmOid(selectedPart, selectedDownStreamSystem, updateFlag,traType);
}

private void updateNmOid(WTPart selectedPart, WTPart selectedDownStreamSystem,String traType)
{
NmSimpleOid simpleOid = new NmSimpleOid();
JSONObject joNmOid = new JSONObject();
try {
joNmOid.put("selectedPartOid", selectedPart.getPersistInfo().getObjectIdentifier().toString());
joNmOid.put("selectedDssOid", selectedDownStreamSystem.getPersistInfo().getObjectIdentifier().toString());
joNmOid.put("updateFlag", updateFlag);
joNmOid.put("transferType", traType);

String encodedBeanKey = Base64.encodeBase64URLSafeString(joNmOid.toString().getBytes());
simpleOid.setInternalName(encodedBeanKey);
} catch (JSONException ex) {

ex.printStackTrace();
}

setOid(simpleOid);
}

}

 

Announcements


Top Tags