0

解析された JSON 変数を jqGrid を介して渡すときに少し問題があります。MS Access .mdb ファイルを照会しています。問題は、MS Access の自動番号整数フィールドである ID フィールドがあり、照会時に引用符がないことです。jqGrid はこれを好まないため、テーブルに ID 値が表示されません。

 var SQL = "SELECT * FROM test";
 var resultSet = myDB.query(SQL);
// resultSet will yield [{"ID":1,"name":"albert","9999999999"},{"ID":2,"name":"peter","8888888888"}]
 var mydata = JSON.parse(resultSet)

上記のように、resultSet には ID 値に引用符がありませんが、残りには引用符があります。これにより、ID 列に値のないテーブルが作成されます。JSON を介して解析される前に、ID 値に引用符を追加するにはどうすればよいですか?

ありがとうございました。

ここに画像の説明を入力 コード全体.. ここに画像の説明を入力

4

2 に答える 2

1

jqGrid は、文字列とまったく同じように整数を扱うことができます。したがって、数値を文字列に変更する必要はありません。前の質問で投稿した JSON には、id代わりにID. JavaScript は大文字と小文字を区別する言語です。id置き換えると列に値が表示されると思います

{name:'ID',index:'ID', width:60, sortable:false},

{name:'id', width:60, sortable:false},

indexさらに、 からプロパティを削除することをお勧めしますcomModel

于 2013-05-20T08:24:42.360 に答える
0
for (item in resultSet[0]){
    if (typeof(item) === "number"){
        item = " + item ";
    }
}

テストされておらず、ヘッドコーディングされていないため、機能する可能性があります。それは完全にがらくたであり、機能しませんでした...item = " + item ";これは有効なjavascriptではないため、行はエラーを生成するはずです。

resultSet[0].forEach(function(d){
    d.ID = '"' + d.ID + '"';
}
于 2013-05-20T01:03:16.953 に答える