Vaadin表|如何设置colspan

时间:2017-01-16 06:21:19

标签: vaadin vaadin7 vaadin-grid

我正在使用vaadin tree table,我想为满足某些业务标准的某些行设置第一列colspan(等于表中列的总数)。对于表行的其余部分,单个列将正常显示 我已尝试使用生成的列,并通过设置显式列宽,还有复合列;但这样做会改变所有行/列的布局。请建议我们如何实现这一目标 谢谢!

2 个答案:

答案 0 :(得分:0)

您可以通过调用import pandas as pd import numpy as np c=pd.merge(a,b,on='id',how='left') lst=[] for i in c.index: if(c.iloc[i]['result_x']!=''): lst.append(c.iloc[i]['result_x']) else: lst.append(c.iloc[i]['result_y']) c['result']=pd.Series(lst) del c['result_x'] del c['result_y'] 来设置列的宽度。

在下面的示例中,我将列“Name”的宽度设置为75%。如果您没有指定任何其他内容,则其余列将适合其余空间。

TreeTable#setColumnExpandRatio(String columnName, float value)

尝试下面我从Vaadin书中修改的例子:

ttable.setColumnExpandRatio("Name", 0.75f);
ttable.setColumnExpandRatio("Number", 0.25f); //not necessary

答案 1 :(得分:0)

您可以使用com.vaadin.ui.Table.setRowGenerator

Java 8 + Vaadin 7.6.1的示例

setRowGenerator((Table table, Object itemId) -> {
    if (itemId instanceof MyClassThatIdentifiesARowToMerge) {
        Table.GeneratedRow generatedRow = new Table.GeneratedRow("text-of-merged-cell");
        generatedRow.setSpanColumns(true);
        return generatedRow; // merge
    }
    return null; // doesn't merge
} );