Curl Global Community
グリッド全体を再描画するには? - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: グリッド全体を再描画するには? (/showthread.php?tid=1026)



グリッド全体を再描画するには? - umemura - 01-08-2014

カスタムセルを使って、refresh-data の中に、セル内の描画処理を記述している場合、
グリッド自体が、画面上から一度デタッチされ、再度表示された際には、
refresh-data の振舞いが反映されていない状態で表示されると思います。

このときに、グリッド全体に対して、カスタムセルの振舞いを反映させるには、
どうすればよいのでしょうか。

下記の方法で、すべてのセルに対して再描画をかける方法では、
反映はされますが、非常にパフォーマンスが悪いです。
Code:
    {for r in self.records do
       {for col in self.columns do
          def cell = {self.ui.get-cell-at r, col}
          {if-non-null cell then
             {cell.refresh-data}
          }}}
また、サンプルでは、refresh-data を利用していますが、
refresh-appearance では、反映がされなかったためです。

良い方法、情報をお持ちの方がいらっしゃったら教えてください。


RE: グリッド全体を再描画するには? - umemura - 01-17-2014

RecordGrid.ui.react-to-state-change をコールするのが、一番シンプルでよさそうですね。