Добавление привязки к столбцу cellTable
Я пытаюсь добавить якорь в ячейку столбца таблицы есть способ сделать это????
Благодарю.
3 ответа
Попробуйте использовать ClickableTextCell и установить его ValueUpdater для вызова любого метода, который вам нужен для привязки
Создать Column
переопределение onBrowserEvent
метод.
Как это:
new Column<T, String>(new TextCell()) {
@Override
public String getValue(T object) {
return object.getProperty();
}
@Override
public void onBrowserEvent(Context context, Element elem, T object, NativeEvent event) {
// TODO You can check which event you want to catch
Window.open("http://www.stackru.com", "StackOverFlow", "");
}
};
Этот вопрос довольно старый, но все еще добавляет ответ, который может помочь другим. В приведенном ниже коде я использую clickableTextCell и некоторые изменения стиля, чтобы дать ощущение якоря;)
Column<YourDataClass, String> columnValue = new Column<YourDataClass, String>(
new ClickableTextCell()) {
@Override
public String getCellStyleNames(Cell.Context context, YourDataClass object) {
return style.clickableText();
}
@Override
public String getValue(YourDataClass object) {
return "Anchor Name"; //This is anchor text eg: Download Something
}
};
columnValue.setFieldUpdater(new FieldUpdater<YourDataClass, String>() {
@Override
public void update(int index, YourDataClass obj, String value) {
//Do stuff for click event.
}
});
agentsTable.addColumn(columnValue, " ");
agentsTable.setColumnWidth(columnValue, 10,com.google.gwt.dom.client.Style.Unit.PCT);
добавьте ниже код в вашем классе для стилизации;
@UiField
Style style;
public interface Style extends CssResource {
String clickableText();
}
Добавьте стиль ниже в ваш файл ui.xml:
.clickableText{
align: left;
color: blue;
text-decoration: underline;
}
Прочитайте http://www.pandurangpatil.com/2014/03/gwt-access-style-defined-inside-uixml.html чтобы узнать, как получить доступ к стилю из ui.xml в вашем классе.