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