smartgwt ListGridRecord programmgesteuert Bearbeiten Problem

Ich benutze smartgwt und ich habe eine ListGrid, in der ich einige aufgefüllte Werte in ListGridRecord. nun, wenn ich irgendwelche listGridRecord Feld Wert programmgesteuert durch setAttribute(String fieldName, String value) und aktualisieren des Feldes durch ListGridRecord.refreshFields(), dann werden die Werte erhalten, spiegelt sich in der Benutzeroberfläche. aber das problem ist, wenn ich bin Bearbeiten, die gleichen ListGridRecord durch Doppelklick. dann den Wert verloren oder werden aus der Benutzeroberfläche entfernt.

class FieldRecord extends ListGridRecord{

private int id;
private String name;

public void setID(Long id) {
  setAttribute(Constant.ID, id);
 }

public void setName(String name) {
  setAttribute(Constant.NAME, name);
 }

public Long getID() {
  return getAttribute(Constant.ID);
 }

public String getName() {
   return getAttribute(Constant.NAME); 
 }
}


class testData {
  FieldDataSource fieldDS = new FieldDataSource();

  FieldRecord fieldRec = new FieldRecord();
  //set some default value of record.

  fieldDS.addData(fieldRec);
  FieldGrid fieldGrid = new FieldGrid();
  fieldGrid.setDataSource(fieldDS);

  public void parseValue(){
  //on some condition
   fieldRec.setAttribute(Constant.NAME, "high"); 
  //programmaticaly set record value and that value is removed when i double click on 
   that record. 
 }
}
InformationsquelleAutor ankit | 2012-01-02
Schreibe einen Kommentar