私は、情報をロードするためにレイジーローディングを使用するテーブルのいくつかの例、つまりローを見つけようとしています。私は見栄えはしましたが、私はどこでも良い例を見つけることができないようです(私はViritinのようなものを使いたくありません)。私はちょうどそれを最初からやりたがっています。 vaadinのウェブサイトのドキュメントは実際にはTableを助けてくれないので、何をする必要があるかを説明する良いチュートリアルを知っている人がいるかどうかは疑問です。おそらくその例が良いかもしれません。ここでは、最大5000までの整数を表示する単純なテーブルを示します。ここでは、非常に単純なアプリケーションである遅延読み込みを実装しようとします。そして、うまくいけば、自分のアプリケーションに簡単に機能を統合することができます。ここにコードがあります。 私のUIクラス(MyUI.java):vaadinのレイジーローディングテーブル
public class MyUI extends UI {
@Override
protected void init(VaadinRequest vaadinRequest) {
final VerticalLayout layout = new VerticalLayout();
numberTable theTable = new numberTable();
Button button = new Button("Click Me");
button.addClickListener(new Button.ClickListener()
{
@Override
public void buttonClick(ClickEvent event)
{
System.out.println("test!");
}
});
layout.addComponents(button, theTable);
layout.setMargin(true);
layout.setSpacing(true);
setContent(layout);
}
とテーブルクラス(numberTable.java):私は遅延ロード機能を実装することを読んだ
package my.vaadin.project.tableTest;
import com.vaadin.ui.Table;
public class numberTable extends Table
{
public numberTable(){
/*addContainerProperty("Name", String.class, null);
addContainerProperty("Mag", Float.class, null);
addItem(new Object[]{"Canopus", -0.72f}, 1);
addItem(new Object[]{"Arcturus", -0.04f}, 2);
addItem(new Object[]{"Alpha Centauri", -0.01f}, 3);*/
addContainerProperty("Number", Integer.class, null);
for(int i=1; i<=5000; i++){
Integer itemID = new Integer(i);
addItem(new Object[]{i},itemID);
}
setCaption("Rendering table");
addStyleName("testTable");
setPageLength(size());
System.out.println("table created");
}
}
は私が持っている必要がありますテーブル以外のそれをサポートするコンテナ、それは私の理解です。
どのような種類のデータソースがありますか? Vaadinのいくつかのコンテナは、遅延読み込みをサポートしています。 –
こんにちは、テーブル(テーブルを拡張するクラスで作成)を持っています – antobbo
テーブルはコンテナからのデータを表示する方法です。あなたはどのようにテーブルに値を設定しますか? https://vaadin.com/docs/-/part/framework/components/components-table.html。テーブルは必要に応じてコンテナから行を取得します –