Wie erhalte ich Zeilenwerte aus der dynamischen FlexTable in GWT?Java

Java-Forum
Anonymous
 Wie erhalte ich Zeilenwerte aus der dynamischen FlexTable in GWT?

Post by Anonymous »

Ich versuche, eine Anwendung zu entwickeln, die mit JDBC dynamisch eine Flex-Tabelle aus der Datenbank erstellt. Ich möchte zwei Methoden implementieren, eine zum Aktualisieren von Zeilenwerten und eine zum Löschen der aktuellen Zeile durch Einfügen von zwei Schaltflächen pro Zeile. Das Problem ist, dass ich keine aktuellen Zeilenwerte abrufen kann.

Hier ist ein Bild

FishTable-Methode, die FlexTable erstellt

Code: Select all

public void FishTable(){
if(service == null){
service = GWT.create(Service.class);
}

service.getFishes(FishTableCallBack);
}
AsyncCallback FishTableCallBack = new AsyncCallback(){

Code: Select all

    @Override
public void onFailure(Throwable caught) {
String details = caught.getMessage();

System.out.println(details);
}

@Override
public void onSuccess(FishTable result) {

table.removeAllRows();
tablePanel.clear();

table.setText(0, 0, "id");
table.setText(0, 1, "Fish");
table.setText(0, 2, "Price");
table.setCellPadding(6);
table.getCellFormatter().addStyleName(0, 0, "header1_3");
table.getCellFormatter().addStyleName(0, 1, "header2");
table.getCellFormatter().addStyleName(0, 2, "header1_3");

tablePanel.add(table);

for (int i = 0; i < result.getIdArray().length; i++) {

Button updateBtn = new Button("update");
Button deleteBtn = new Button("delete");

id = new TextBox();
id.setText(result.getIdArray()[i]);
id.addStyleName("fishId");
id.setReadOnly(true);

name = new TextBox();
name.setText(result.getNameArray()[i]);

price = new TextBox();
price.setText(result.getPriceArray()[i]);
price.addStyleName("fishId");

int row = table.getRowCount();

table.setWidget(row, 0, id);
table.setWidget(row, 1, name);
table.setWidget(row, 2, price);
table.setWidget(row, 3, updateBtn);
table.setWidget(row, 4, deleteBtn);

updateBtn.addClickHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {

UpdateFish(id.getText() , name.getText() , price.getText());

}
});

deleteBtn.addClickHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {

index = table.getCellForEvent(event).getRowIndex()-1;

DeleteFish(table.getText(index, 0));

}
});
}

}

};
Code im updateBtn-Handler funktioniert nicht, ich nehme Werte aus der letzten Zeile. Ich habe versucht, mit index = table.getCellForEvent(event).getRowIndex()-1 die aktuelle Zeile abzurufen, aber ich kann den Wert von Spalte 0 im updateBtn-Handler nicht abrufen. Ich möchte diese Werte an die Datenbank senden. Wie kann ich also die Werte aus der Zeile abrufen, in der ich auf diese Schaltflächen klicke?

UpdateFish- und DeleteFish-Methoden:

Code: Select all

public void DeleteFish(String id){
if(service == null){
service = GWT.create(Service.class);
}

service.deleteFish(id, deleteFishCallBack);
}

public void UpdateFish(String fishId , String fishName , String fishPrice){
if(service == null){
service = GWT.create(Service.class);
}

service.updateFish(fishId , fishName , fishPrice , updateFishCallBack);
}

AsyncCallback deleteFishCallBack = new AsyncCallback() {

@Override
public void onSuccess(DeleteFish result) {
FishTable();
}

@Override
public void onFailure(Throwable caught) {
String details = caught.getMessage();

System.out.println(details);

}
};

AsyncCallback updateFishCallBack = new AsyncCallback() {

@Override
public void onSuccess(UpdateFish result) {
FishTable();
}

@Override
public void onFailure(Throwable caught) {
String details = caught.getMessage();

System.out.println(details);

}
};

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • So erstellen Sie eine GWT FlexTable mit thead und tbody
    by Anonymous » » in Java
    0 Replies
    8 Views
    Last post by Anonymous
  • Gwt getCellForEvent flexTable
    by Anonymous » » in Java
    0 Replies
    2 Views
    Last post by Anonymous
  • So richten Sie Flextable mit uiBinder für GWT 2.4 ein
    by Anonymous » » in Java
    0 Replies
    8 Views
    Last post by Anonymous
  • So verblassen Sie die Farbe einer Zelle in GWT FlexTable
    by Anonymous » » in Java
    0 Replies
    1 Views
    Last post by Anonymous
  • So verblassen Sie die Farbe einer Zelle in GWT FlexTable
    by Anonymous » » in Jquery
    0 Replies
    3 Views
    Last post by Anonymous