2017-10-23 7 views
0

グリッドから特定のグリッドセルをレンダリングする方法GXT(Java)特定のグリッドセル(GXT)をレンダリングする方法は?

グリッドセルの式が無効な構文を持つ場合、対応するグリッドセルの背景が赤で変わる必要がある場合は、グリッドのセルから式を(文字列として)検証する必要があります。私は特定のセルのためにレンダリングしたい

getColumnModel().getColumn(cellColIndex).setCell(new AbstractCell<Object>() { 
     @Override 
     public void render(com.google.gwt.cell.client.Cell.Context context, Object value, SafeHtmlBuilder sb) { 
      sb.appendHtmlConstant("<div style=\"background-color:red;\">"); 
      sb.appendHtmlConstant(value.toString()); 
      sb.appendHtmlConstant("</div>"); 
     } 
    }); 

:ここ

は、特定の列のすべてのセルをレンダリングするための一例です。それを行う方法はありますか?

答えて

1

表示されたセルレンダラーで、赤で表示されるかどうかを確認します(その場合は、そのロジックに基づいてbackground-colorを使用します)。

次に、その値が変更されたら、変更が必要な行でstore.update(...)を呼び出して、再描画して色を更新するようにグリッドに依頼します。

すでにレンダリングされたセルを手動で変更する方法はありません。これは、グリッドが再レンダリングを行う必要があると判断する可能性があるため、意図的です(ソートまたはフィルタ操作、ページングまたはスクロール、あなたのカスタムスタイリングは失われるでしょう)。代わりに、必要なものを反映するようにセルのロジックを更新し、データが変更されたときに更新するようにストア/グリッドに指示します。

関連する問題