0

document.ready の関数からデータを取得するように jqGrid を設定しようとしています。これを行うと、どういうわけか、いくつかの小さな例外が発生します...最初は、jsonデータの形式が間違っているのではないかと思っていました...

{"total": 2,
"page": 1,
"records": 15,
"rows": [{
    "id": 2148,
    "cell": {
        "MRN": "840134833",
        "Hospital_Fin": "987141516",
        "First_Name": "YELLOW",
        "Last_Name": "CRAYON",
        "Date_of_birth": "\/Date(1253160000000)\/"          
    }
},
{
    "id": 1898,
    "cell": {
        "MRN": "785528039",
        "Hospital_Fin": "6669511596226",
        "First_Name": "RAYFIELD",
        "Last_Name": "BOYD",
        "Date_of_birth": "\/Date(-720298800000)\/"
    }
}]}

しかし、それは正しいように見えます。

たとえば、次の例外が発生します。

0x800a138f - Microsoft JScript runtime error: Unable to get value of the property 'integer': object is null or undefined

コードの次の行でその例外が発生します...

fmt = $.jgrid.formatter.integer || {};

次のようにグリッドを設定しました

    $(document).ready(function () {
        jQuery("#frTable").jqGrid ({
            cmTemplate: { sortable: false },
            caption: '@TempData["POPNAME"]' + ' Population',
            datatype: 'json',
            mtype: 'GET',
            url: '@Url.Action("GetAjaxPagedGridData", "Encounters", new { popId = TempData["POPULATIONID"] })',//'/Encounters/GetAjaxPagedGridData/'+ '',                
            pager: '#pager',
            loadonce: true,
            height: 450,
            gridview: true,
            viewrecords: true,
            rowNum: 15,
            shrinkToFit: false,
            autowidth: true,
            colNames: [...],
            colModel: [
                   { name: 'MRN', width: 125, align: 'left' },
                   { name: 'Hospital_Fin', width: 145, align: 'left' },
                   { name: 'First_Name', width: 115, align: 'left' },
                   { name: 'Last_Name', width: 115, align: 'left' },
                   { name: 'Date_of_birth', width: 145, align: 'left' },]

colNames と colModel は重要ではありません。私はここで私の機知に富んでいます。これは機能するはずです。私は何が欠けていますか?

4

2 に答える 2

1

$.jqgrid.formatter が定義されている必要なロケール ファイルがない可能性があります。

jqGrid ドキュメント

動作させるには、jQuery、jqGrid プラグイン、および jqGrid ロケール ファイルの 1 つを含める必要があります。次に例を示します。

<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
于 2013-02-27T00:39:24.113 に答える
0

That error sounds to me like you have a problem with an object in your view not having been set. Try setting a static value rather then something like TempData["POPULATIONID"] and I would think you might move forward.

于 2013-02-27T00:10:39.303 に答える