Curl Global Community
常に1件以上が選択されているグリッド - 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: 常に1件以上が選択されているグリッド (/showthread.php?tid=1034)



常に1件以上が選択されているグリッド - umemura - 01-28-2014

RecordGrid.select-current-record? = true を指定したレコードグリッドで、
レコードを選択した状態でも、
グリッド内の余白の部分をクリックすると、選択状態が解除されてしまいます。

レコードが0件の場合を除いて、
常に1件以上のレコードが選択されている状態にしたいのですが、
どのようにすればよいですか。



RE: 常に1件以上が選択されているグリッド - umemura - 01-28-2014

「選択が解除されたら選択をしなおす」という方法なら何とか実装できそうです。
もっと良い方法があれば教えてください。

Code:
{let rs:RecordSet =
    {RecordSet
        {RecordFields
            {RecordField "First", domain = String},
            {RecordField "Last", domain = String},
            {RecordField "Age", domain = int}
        },
        {RecordData First = "John", Last = "Smith", Age = 25},
        {RecordData First = "Jane", Last = "Smith", Age = 29},
        {RecordData First = "Jane", Last = "Jones", Age = 28}
    }
}
{def grid =
    {RecordGrid
        select-current-record? = true,
        cells-take-focus? = false,
        multiple-selection-enabled? = false,
        background = "white",
        record-source = rs,
        ||レコードの選択状態を解除しない
        {on e:SelectionEvent at grid:RecordGrid do
            {if grid.selection.record-count == 0 then
                {try
                    {grid.select-record grid.current-index}
                    catch e:Exception do
                    ||レコード再設定時等で、選択時にエラーが発生する場合は無視
                }
            }
        }
    }
}
{value grid}