@Override
 public void setSelectedRow(int selectedRow) {
   super.setSelectedRow(selectedRow);
   if (detailsDocument != null && selectedRow >= 0) {
     Object[] body = (Object[]) getController().getDocument().getBody();
     Vector rowData = (Vector) body[1];
     if (selectedRow < ((Vector) rowData).size()) {
       Vector line = (Vector) rowData.get(selectedRow);
       for (int n = 0; n < detailControler.size(); n++) {
         updateSelect(n, dependFiled.get(n) + "=" + (String) line.get(masterColNum.get(n)));
       }
     } else {
       for (int n = 0; n < detailControler.size(); n++) {
         updateSelect(n, dependFiled.get(n) + "=-1");
       }
     }
   }
 }
 public void update(Document document) {
   super.update(document);
   gotoRow(0);
 }
 public void gotoRow(int row) {
   super.gotoRow(row);
   setSelectedRow(row);
 }