我在我的项目中使用 GWT2.3。当用户单击可编辑文本单元时,我想增加可编辑文本框的宽度。问题是我的列宽是 200 像素。当用户单击 editableTextCell 时,EditableTextCell 中的 TextBox 宽度约为 125px,与列宽相比要小。
我在 Celltable 的列中添加了 EditTextCell
Column stringColumn = new Column(new EditTextCell()) { // 我的代码 }
cellTable.addColumn(stringColumn, "MyColumn"); cellTable.setColumnWidth(checkBoxColumn, 200, Unit.PX);
我尝试了以下方法来增加文本框的宽度,但问题是我无法在文本框中编辑 + 焦点不是损失
@Override
public void onBrowserEvent(Context context, Element elem,Record object, NativeEvent event) {
String type = event.getType();
int editedTexBoxSize = (cellTable.getOffsetWidth()-100)/cellTable.getColumnCount();
if(elem.getInnerHTML().startsWith("<INPUT")){
String test = elem.getInnerHTML();
// test = <INPUT tabIndex=-1 value=P __eventBits="2048"></INPUT>
test= test.replace("value", " size="+editedTexBoxSize+" value");
// test = <INPUT tabIndex=-1 size=131 value=P __eventBits="2048"></INPUT>
elem.setInnerHTML(test);
}
super.onBrowserEvent(context, elem, object, event);
}
我想增加(设置)在 EditTextCell 中出现的 TextBox 宽度等于列宽。
任何解决方案?