gwtonchangedatagridcomboboxcolumnselectionchangedlistgrid

Issue in setting Value in Select Item from RPC Call in GWT


I am facing issue in Setting the Value of Select Box in Grid .

Scenario: in the ListGrid i am having two Combo box . For One combo box i am getting the value in the list during the onload and displaying . On change value of first combo i need to fetch data from a list with input value from frst combo. i am getting the value from list but when i try to set in the second combo its not loading

Please find my code below.

//Properly Loading Combo
TaskName=new ListGridField("task_name","task_label);
SelectItem taskItem=new SelectItem("task_name","task_label);
taskNameList=populateTaskName();//Getting while onload
taskItem.setValueMap(taskNameList);
taskItem.addChangedHandler(...);
TaskName.setEditorType(taskItem);
TaskName.setValueMap(taskNameList);
TaskName.setRequired(true);
TaskName.setCanEdit(true);


//Not Loading Combo
SubTaskName=new ListGridField("Sub_task_name","Sub_task_label);
SelectItem subTaskItem=new SelectItem("Sub_task_name","Sub_task_label);


subTaskItem.addChangedHandler(...);
SubTaskName.setEditorType(taskItem);

TaskName.setRequired(true);
TaskName.setCanEdit(true);


//ChangeHandlerFor taskItem-FirstCombo
onChange(){
Form item=event.getItem();
item.setTooltip(item.getDisplayValue());
String taskId=String.valueOf(item.getValue());
populateSubTaskname(taskId);
subTaskItem.setValueMap(subtaskNameList);//getting the subtaskname List from RPC Call
SubTaskName.setValueMap(subtaskNameList);


populateSubTaskname(){

getting the value and loads in List
//subtaskNameList


subTaskItem.setValueMap(subtaskNameList);//getting the subtaskname List 
SubTaskName.setValueMap(subtaskNameList);
}




//ChangeHandlerFor taskItem-Second Combo
onChange(){
Form item=event.getItem();
item.setTooltip(item.getDisplayValue());

}//Here also Name in the Map is not setting instead setting the value alone sometimes

Please help me where im wrong.


Solution

  • Once value in the combobox/select item changes, you need to assign it again to List grid field.

    eg: listGridField.setEditorProperties(selectItem)