2011-05-16 7 views
3

私は時々データが列の幅よりも広いかもしれないいくつかの列を持つセルテーブルを持っています。GWTセルウィジェットでタイトルを設定するにはどうすればよいですか?

私はcssのテキストオーバーフローを省略記号に設定しているので、列の幅を超えるとセルの値が多くなることはユーザーには明らかです。

通常のウィジェットでは、setTitle()を使用してマウスの上に完全な内容を自動的に表示しますが、TextCell(および他のすべてのセルウィジェット)はUiObjectを拡張しないので、利用可能です。

TextCellは、tdタグ内のdivで実装されています。どちらの要素にもタイトルを設定できると、私が探している振る舞いがわかりますが、どちらの要素でもハンドルを取得する方法が見つからないようです。

セル表ウィジェットで動作するHTMLタイトル動作を取得する最適な方法は何ですか?

おかげで、

ダグ

答えて

3

あなたがあなた自身のセルの実装を作成し、HTMLテンプレートで自分をタイトルを設定することができます。

セルの実装を見てください。基本的には、レンダリングのためのHTML文字列を提供します。

+0

私はTextCellを拡張するウィジェットを作成し、renderメソッドをオーバーライドしてタイトルを設定できるラッピングdivタグを追加しました。わからないこれが最もエレガントなソリューション... – Doug

+0

「コードの公開クラスTitledTextCellがTextCellを拡張{ \t公共TitledTextCell(){ \t \tスーパー()です。 \t} \t @Override \tます。public voidレンダリング(コンテキストコンテキスト、 \t \t \t SafeHtml値、SafeHtmlBuilderのSB){ \t場合(値!= NULL){ \t \t //ようにまた別のdivを作成し、我々タイトルを設定することができます。 \t \t sb.appendHtmlConstant( "

"); \t sb.append(value); \t \t sb.appendHtmlConstant("
"); \t} \t} } – Doug

+0

これはもっともエレガントではありませんが、大丈夫です。あなたはTextCellを見て、あなたのタイトルを直接入れるようにテンプレートを変更することができます(あなたは1つのdivを保存します) –

0

これらの問題のいくつかは、GWT 2.3で「修正」されています。しかし、GWT 2.2を使用している場合は、独自のセル実装を記述するのが良い方法です。

+0

私は2.3を使用していますが、ここではn00bなので、2.3の独自のタグを作成できませんでした。 – Doug

+1

2.3表のセルにタイトルはありません(例:com.google.gwt.cell.client.AbstractCell ) – yetanothercoder

関連する問題