我需要包裝該列的文本。我的列大小很小。所以如果我設置列寬一些字母不可見。由於文本的長度大於列大小。如果文本中有空格,那麼它會自動包裝。所以我需要包裝文字。如何包裝GWT CellTable單元格內的文本?
for eg. emailColumn its value is [email protected]
我希望得到的結果在第一行[email protected]
和 xxxx.xom
下一行。
可能嗎?如果是。 任何人都可以幫助我嗎?它迫切
由於提前, Gnik
我需要包裝該列的文本。我的列大小很小。所以如果我設置列寬一些字母不可見。由於文本的長度大於列大小。如果文本中有空格,那麼它會自動包裝。所以我需要包裝文字。如何包裝GWT CellTable單元格內的文本?
for eg. emailColumn its value is [email protected]
我希望得到的結果在第一行[email protected]
和 xxxx.xom
下一行。
可能嗎?如果是。 任何人都可以幫助我嗎?它迫切
由於提前, Gnik
我試過細胞表裏麪包裹的文字,我們可以通過創建自定義列實現這一目標。
爲單元格表創建一個抽象單元格列,在該單元格中添加html包含單元格,然後像這樣將列添加到單元格表格中。
將此代碼添加到您的主要java文件中,該文件包含單元格表格,並在必要的位置粘貼以下代碼。
WrappedColumn<T> textDetail = new WrappedColumn<T>() {
// This is method in wrapped details column java file.
public WrapDetails getValue(T object) {
return new WrapDetails(T.<your method1 for wrap text>(), T.<your method2 for wrap text>());
}
};
<your cell table>.addColumn(textDetail);
創建一個名爲像「WrapDetails.java」的渲染動態數據並粘貼以下代碼新的Java文件。
public class WrapDetails extends Composite {
String mail_id;
String website;
public WrapDetails(String id, String site) {
this.mail_id = id;
this.website = site;
}
}
創建一個名爲「WrappedColumn.java」文本換行列新的Java文件並粘貼下面的代碼。
public abstract class WrappedColumn<T> extends Column<T, WrapDetails> {
public WrappedColumn() {
super(new WrapDetailsColumnCell());
}
/**
* Return the passed-in object.
* @param object The value to get
*/
@Override
public WrapDetails getValue(T object) {
return null;
}
}
創建命名爲 'WrapDetailsColumnCell.java' 新的Java文件並粘貼下面的代碼。
public class WrapDetailsColumnCell extends AbstractCell<WrapDetails> implements Cell<WrapDetails>{
String mail_id, website;
/**
* Add this constructor, if you want click event for this column.
*/
public WrapDetailsColumnCell() {
super("click", "keydown");
}
/**
* This method provides style for your wrap data
*
*/
@Override
public void render(Context context, WrapDetails value, SafeHtmlBuilder sb) {
sb.appendHtmlConstant("<div><table width='100%'>");
sb.appendHtmlConstant("<tr><td><div style='your style here'>"+mail_id+"</div></td></tr>");
sb.appendHtmlConstant("<tr><td><div style='your style here'>"+website+"</div></td></tr>");
sb.appendHtmlConstant("</table></div>");
}
/**
* This method update cell value on click event.
*
*/
@Override
public void onBrowserEvent(Context context, Element parent,WrapDetails value, NativeEvent event, ValueUpdater<FaxDetails> valueUpdater) {
super.onBrowserEvent(context, parent, value, event, valueUpdater);
setValue(context, parent, value);
valueUpdater.update(value);
}
}
這是爲我工作很好。試過後,如果你知道,請告訴我任何問題。玩得開心。
使用CSS屬性
word-wrap:break-word;
參見[這裏] [1]。 [1]:http://stackoverflow.com/questions/499137/css-how-can-i-force-a-long-string-without-any-blank-to-be-wrapped- in-xul-和 – jonasr謝謝Jonasr。但是NetBeans顯示了Unknown屬性自動換行。它會支持嗎? – Prince
它是由所有主流瀏覽器支持的css3屬性。 http://www.w3schools.com/cssref/css3_pr_word-wrap.asp – jonasr