0

私は、mvc5 プロジェクトでMVCJqGrid Html ラッパーと共に JqGrid を使用しています。私が使用している MVCJqGrid のバージョンは 1.0.15 です。ページにグリッドを作成するために、cshtml ファイルに次のコードがあります。

@(Html.Grid("Contacts")
        .SetCaption("Contacts")
        .SetUrl(@Url.Action("Contacts", "Home"))
        .SetAutoWidth(true)
        .SetViewRecords(true)
        .AddColumn(new Column("Name").SetAlign(Align.Left).SetEditable(false))
        .AddColumn(new Column("IsPrimaryContact").SetAlign(Align.Center).SetFormatter(Formatters.Checkbox).SetLabel("Is Primary?"))
        .AddColumn(new Column("Email").SetLabel("Email Address").SetFormatter(Formatters.Email))
        .AddColumn(new Column("Handphone").SetAlign(Align.Right).SetFormatter(Formatters.Number))
        .AddColumn(new Column("Office").SetAlign(Align.Right))
        .AddColumn(new Column("Telephone").SetAlign(Align.Right))
        .AddColumn(new Column("Other").SetAlign(Align.Right))
)

上記のコードでは、「IsPrimaryContact」はブール値であり、グリッドのチェックボックス列として表示します。ページが読み込まれると、すべての列が読み取り専用として表示されます。つまり、編集できませんが、チェックボックス列は編集可能のままで、列のチェックボックスをオン/オフにできます。チェックボックスも無効にして、ユーザーがその値を変更できないようにします。私はすでに SetEditable for Checkbox 列を false に追加しており、他にもいくつか試しましたが、列のチェックボックスは常に有効のままです。ページの読み込み時に列のチェックボックスを無効として表示するにはどうすればよいですか?

4

1 に答える 1

0

標準フォーマッタを使用する代わりに、カスタム フォーマッタを使用できます。ここで例を見つけることができます http://mvcjqgrid.skaele.it/Home/Formatters

列のカスタム フォーマッタを設定します。

.AddColumn(new Column("IsPrimaryContact").SetAlign(Align.Center).SetCustomFormatter("displayCheckBox").SetLabel("Is Primary?"))

フォーマッター機能

<script type="text/javascript">
    function displayCheckBox(cellvalue, options, rowobject) {
        return '<input type="checkbox" value="' + cellvalue + '" disabled="disabled">';
    }
</script>

コードをテストしませんでしたが、動作するはずです ;)

于 2014-12-09T10:44:22.030 に答える