1
vaadinのTreeTableを使用していて、私の行のツールチップを追加しようとしています。これは、彼らがそれを行う必要があると言っている方法ですが、私は正しい列を取得できないようにpropertyIdは常にnullです?そして、そうi'vはaswell =日食デバッガでこれを実行します)この部分に関連ItemDescription vaadin TreeTableのジェネレータは、列にnullを返すだけです
コード:ツリーに項目を追加するとき
private void init() {
setDataSource();
addGeneratedColumn("title", new TitleColumnGenerator());
addGeneratedColumn("description", new DescriptionGenerator());
setColumnExpandRatios();
setItemDescriptionGenerator(new TooltipGenerator());
}
protected class TooltipGenerator implements ItemDescriptionGenerator{
private static final long serialVersionUID = 1L;
@Override
public String generateDescription(Component source, Object itemId, Object propertyId) {
TaskRow taskRow = (TaskRow)itemId;
if("description".equals(propertyId)){
return taskRow.getDescription();
}else if("title".equals(propertyId)){
return taskRow.getTitle();
}else if("category".equals(propertyId)){
return taskRow.getCategory().toString();
}else if("operation".equals(propertyId)){
return taskRow.getOperation().toString();
}else if("resourcePointer".equals(propertyId)){
return taskRow.getResourcePointer();
}else if("taskState".equals(propertyId)){
return taskRow.getTaskState().toString();
}
return null;
}
}
厄介なもののような匂いです。これは無関係かもしれませんが、どのような種類のデータコンテナを使用していますか? TaskRowオブジェクトはnullではありませんか?そうでなければテーブルはうまくレンダリングされますか? generateDescription()を呼び出すメソッドをデバッグしましたか? – miq
他のすべてのオブジェクトが正しく指し示されています。階層コンテナインターフェイスを実装する独自のデータコンテナを使用しています。コンテナは他のすべての方法で優れています。 – Marthin
メソッド 'generateDescription'のpropertyIdのJavaDocは、'セルのpropertyId、行記述を取得するときはnull'と表示します。これは関連していますか?しかし、別の解決策があります。各列ジェネレータのラベルには説明が設定されていませんか? – janhink