1
我有一個單元格表,其中一列用於名稱,一列用於類型,另一列用於圖片。在gwt中爲celltable的單元格添加動態樣式名稱
我有另一個列表框指定單元格表格的類型列中存在的類型。
單元格表格類型對於多於一行可能是相同的。當我在列表框中選擇一個類型時,單元格表格中所有不具有相同類型的行應該在圖像單元格中添加一個圖標。
直到現在,我可以根據在單元格中輸入的值自動搜索動態添加樣式名稱。但是現在我的意圖是根據另一個小部件的值來設置動態樣式名稱。
請給我一個答案。下面的代碼提供
public class CellTableExample implements EntryPoint, ChangeHandler {
CellTable<NameType> ct = new CellTable<NameType>();
TextColumn<NameType> nameColumn;
ListBox typeListBox = new ListBox();
public void onModuleLoad() {
typeListBox.addChangeHandler(this);
nameColumn = new TextColumn<NameType>() {
@Override
public String getValue(NameType object) {
return object.getName();
}
};
ct.addColumn(nameColumn, "Name");
TextColumn<NameType> name1Column = new TextColumn<NameType>() {
@Override
public String getValue(NameType object) {
return object.getType();
}
};
ct.addColumn(name1Column, "Name1");
List<NameType> values = new ArrayList<NameType>();
NameType nameType1 = new NameType("name1", "type1");
NameType nameType2 = new NameType("name2", "type2");
values.add(nameType1);
values.add(nameType2);
ct.setRowData(values);
ct.setLoadingIndicator(null);
typeListBox.addItem("type1");
typeListBox.addItem("type2");
HorizontalPanel hp = new HorizontalPanel();
hp.add(typeListBox);
hp .add(ct);
RootPanel.get().add(hp);
}
@Override
public void onChange(ChangeEvent event) {
String type = typeListBox.getValue(typeListBox.getSelectedIndex());
int rowCount = ct.getRowCount();
for(int i=0;i < rowCount; i++) {
String value = ct.getRowElement(i).getCells().getItem(1).getInnerText();
if(type.equals(value)) {
Window.alert("came here");
TableCellElement cellElement = ct.getRowElement(i).getCells().getItem(0);
cellElement.addClassName("information icon");
}
}
}
}
在onChange()
方法,該方法是,我認爲用於根據在列表框選擇添加類名的邏輯。但我正在尋找更通用的解決方案:)
從上面的描述中得到確切的問題非常困難。您可以發表一些代碼嗎? – 2013-04-06 13:37:39