1

ParamQuery JavaScript ライブラリ ( ParamQuery Website ) を使用して JavaScript グリッドを構築しています。

JQuery では、JSON データを返す Ajax を使用してサービスにリクエストを送信します。次に、JSON データをループして配列に割り当てます。私の問題は、要素が文字列であることですが、オブジェクトの配列である必要があると思います。

<script type="text/javascript">
    $(document).ready(function () {
        var DataArray = [];

        $.ajax({
            url: "http://wks52025:82/WcfDataService.svc/GetNotes()?$format=json",
            type: "get",
            datatype: "json",
            success: function (data) {
                $.each(data.d, function (i, item) {
                    DataArray[i] = "[" + item.NotesTitle.trim() + "," + item.NotesText.trim() + "]";
                })

                for (var i = 0; i < DataArray.length; i++) {
                    //alert(DataArray[i]);
                    //Do something
                }

                // GRID LOGIC HERE
                var obj = { width: 800, height: 400, title: "Notes" };
                obj.colModel = [
                    { title: "NotesTitle", width: 500, dataType: "string" },
                    { title: "NotesText", width: 500, dataType: "string" } 
                ];
                obj.dataModel = { data: DataArray }; // Data Array goes here
                $("#grid_array").pqGrid(obj);
            }
        });    
    });
</script>

VS の [ウォッチ] タブのスクリーンショットと、デバッグ後のグリッドのレンダリング方法のスクリーンショットを添付しました。

ビジュアルスタジオウォッチ

マイグリッド

これはサンプルコードです

誰でもこの問題を解決するのを手伝ってもらえますか?

4

1 に答える 1

1

これをオブジェクトの配列に変換することだけが問題である場合は、次の行を見てください。

$.each(data.d, function (i, item) {
  DataArray[i] = { NotesTitle: item.NotesTitle.trim(), NotesText:item.NotesText.trim() };
})

更新 例を見て、配列の配列が必要です

$.each(data.d, function (i, item) {
  DataArray[i] = [  item.NotesTitle.trim(), item.NotesText.trim() ];
})
于 2013-05-14T08:23:58.713 に答える