1

JqG​​ridについては初めてです。次のコードを使用してデータをグリッド化します。

<script type="text/javascript">
jQuery(document).ready(function () {
    jQuery("#grid_table").jqGrid({
        url: '@Url.Action("GetAll", "Widget")',
        datatype: "json",
        mtype: 'POST',
        colNames: ['ReadDate', 'Name'],
        colModel: [
            { name: 'ReadDate', index: 'ReadDate', width: 200, sortable: true, editable: false, editoptions: { readonly: true, size: 10} },
            { name: 'Name', index: 'Name', width: 500, editable: false }
       ],
        jsonReader: {
            root: "rows", //array containing actual data
            page: "page", //current page
            total: "total", //total pages for the query
            records: "records", //total number of records
            repeatitems: false,
            id: "id" //index of the column with the PK in it
        },
        rowNum: 20,
        rowList: [20, 30],
        pager: jQuery('#gridpager'),
        sortname: 'Name',
        viewrecords: true,
        sortorder: "asc",
        width:968,
        height:349
    }).navGrid('#gridpager');
});
</script>

コードは機能します.jsonを使用してサーバーからデータを取得できません。しかし、colNamesも動的に取得したいと思います。このトピックに関するドキュメントが見つかりません。colNamesとcolModelsを動的に取得するにはどうすればよいですか?

このようなもの:

colNames: data.colNames,
colModel: data.colModels,

前もって感謝します。

4

1 に答える 1

1

あなたはこれを行うことができますが、それは価値がないかもしれません。colModelsに入力するデータには、サイズ、編集可能など、これらの列のすべてのプレゼンテーションロジックも保持する必要があります。

プロパティからこれらすべてのオプションを一貫して把握できると思う場合は、機能する可能性がありますが、外観を少しカスタマイズしないと、あらゆる種類のデータに適合する見栄えの良いグリッドを取得するのは困難です。jqgridスキーマに適合するjsonとしてシリアル化されたpocoを返します。

私の個人的な意見は、そのままにするか、telerikやradコントロールなどから別のグリッドを購入することを検討することです。確かに、グリッドが必要かどうかを検討してください。

asp.net-mvcを使用してグリッドを動的に作成するのに役立つ可能性のある2つの記事

http://www.codeproject.com/Articles/421189/jqGrid-MVC-Html-Helper

http://www.codeproject.com/Articles/424640/ASP-NET-MVC-HTML-Helper-for-the-jqGrid

于 2012-11-16T14:44:08.457 に答える