Twitter bootstrap GWT Bootstrap3为DataGrid创建自定义单元格
我正在努力获得一个bootstrap3格式的自定义单元格,以便在数据网格中工作。 我无法格式化和获取事件。 在本例中,我能够在表中获得正确的“bootstrap3输入单元格”,具有良好的bootstrap3外观和感觉,但是我无法获得事件,而且cssBuilder代码也无法工作Twitter bootstrap GWT Bootstrap3为DataGrid创建自定义单元格,twitter-bootstrap,events,gwt,datagrid,custom-cell,Twitter Bootstrap,Events,Gwt,Datagrid,Custom Cell,我正在努力获得一个bootstrap3格式的自定义单元格,以便在数据网格中工作。 我无法格式化和获取事件。 在本例中,我能够在表中获得正确的“bootstrap3输入单元格”,具有良好的bootstrap3外观和感觉,但是我无法获得事件,而且cssBuilder代码也无法工作 Column<TableData, SafeHtml> col1 = new Column<TableData, SafeHtml>(new SafeHtmlCell()) {
Column<TableData, SafeHtml> col1 = new Column<TableData, SafeHtml>(new SafeHtmlCell()) {
@Override
public SafeHtml getValue(TableData object) {
SafeStylesBuilder cssBuilder = new SafeStylesBuilder();
SafeHtmlBuilder sb = new SafeHtmlBuilder();
cssBuilder.appendTrustedString("margin-top: 5px;");
Input i1= new Input();
sb.append(SafeHtmlUtils.fromTrustedString(i1.toString()));
return templates.cell(cssBuilder.toSafeStyles(), sb.toSafeHtml());
}
};
Column col1=新列(新的SafeHtmlCell()){
@凌驾
公共安全HTML getValue(TableData对象){
SafeStylesBuilder cssBuilder=新的SafeStylesBuilder();
SafeHtmlBuilder sb=新的SafeHtmlBuilder();
appendTrustedString(“页边距顶部:5px;”);
输入i1=新输入();
sb.append(SafeHtmlUtils.fromTrustedString(i1.toString());
返回templates.cell(cssBuilder.toSafeStyles(),sb.toSafeHtml());
}
};
由于我尝试了这么多不同的变体(但都失败了),我迫切需要真正的应用程序代码。最后,我使用引导网格系统来构建自定义网格
/**
* Addiere eine Zeile zum Panel dazu
* @param column
*/
void addToPanel(Column [] column,int iIndex) {
Row row=new Row();
int iIt;
for (iIt=0;iIt<column.length;iIt++) {
row.add(column[iIt]);
}
panelbody.insert(row,iIndex);
}
SetGet是一个仅对每个columndata元素具有一般访问权限的类
class MInput extends Input implements SetGet{
RowData rData;
int iColumn;
MInput mI;
public MInput (int iColumn, RowData rData) {
super();
mI=this;
this.rData=rData;
this.iColumn=iColumn;
this.addBlurHandler(
new BlurHandler () {
@Override
public void onBlur(BlurEvent event) {
// TODO Auto-generated method stub
rData.saData[iColumn]=mI.getText();
}
});
this.addKeyPressHandler(new KeyPressHandler() {
@Override
public void onKeyPress(KeyPressEvent event) {
if ( event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER ) {
mI.setFocus(false);
}
}
});
}
public String get() {
return rData.saData[iColumn];
}
public void set(String strSet) {
this.setText(strSet);
rData.saData[iColumn]=strSet;
}
}