2014-02-20 116 views
3

結合使用我的WCF服務,我揭露JSON數據:如何JSON數據與劍道電網

[OperationContract] 
[WebGet(ResponseFormat=WebMessageFormat.Json)] 
List<ProductDetails> GetProductDetails(); 

這裏是返回的JSON的示例:

{ 「d」:[{ 「__type」: 「產品詳細:#NWProducts」, 「折扣」:0 「的OrderId」:10248 「產品編號」:11, 「單價」:14.0000 「控管數量」:12},{ 「__類型」:「產品詳細: #NWProducts」, 「折扣」:0 「的OrderId」:10248 「產品編號」:42, 「單價」:9.8000 「控管數量」:10},{ 「__類型」: 「產品詳細:#NWProducts」, 「折扣」 :0 「的OrderId」:10248 「產品編號」:72, 「單價」:34.8000 「控管數量」:5},{ 「__類型」: 「產品詳細:#NWProducts」, 「折扣」:0 「的OrderId」:10249 「產品編號」:14, 「單價」:18.6000 「控管數量」:9},{ 「__類型」: 「產品詳細:#NWProducts」, 「折扣」:0,」的OrderId 「:10249」,產品編號 「:51,」 單價 「:42.4000」 控管數量「:40}

嘗試使用結合,爲劍道網格:

<script> 
       $(document).ready(function() { 
        $("#grid").kendoGrid({ 
         dataSource: { 
          type: "json", 
          transport: { 
           read: "http://localhost/KendoServices/Web/GetProductDetails" 
          }, 
          pageSize: 10 
         }, 
         groupable: true, 
         sortable: true, 
         pageable: { 
          refresh: true, 
          pageSizes: true, 
          buttonCount: 5 
         }, 
         columns: [{ 
          field: "OrderId", 
          title: "OrderId", 
          width: 140 
         }, { 
          field: "ProductId", 
          title: "ProductId", 
          width: 190 
         }, { 
          field: "UnitPrice", 
          title: "UnitPrice" 
         }, { 
          field: "quanity", 
          width: 110 
         }] 
        }); 
       }); 
      </script> 

出於某種原因,我無法看到網格上的任何數據。我嘗試綁定數據的方式可能有問題。

+0

只是一個報價。 ..try添加'ServerOperation:false' – MustafaP

回答

2

由此產生的JSON是這裏的罪魁禍首。 kendo dataSource默認查找返回對象以使數組中的項目名爲results。很容易修復。只需要定義數據在響應JSON對象中的位置。

dataSource: { 
    transport: { 
     read: { 
      url: "http://localhost/KendoServices/Web/GetProductDetails", 
      dataType: 'json' 
     } 
    }, 
    pageSize: 10, 
    schema: { 
     data: function(response) { 
      return response.d; 
     } 
    } 
}, 

- 編輯... 哎呀,錯過了別的東西。你type: 'json'應該是你的閱讀對象的內部,並應dataType: 'json'

+0

仍然一樣,無法看到網格上的任何數據 – Simsons

+0

如果你停止了返回響應。 d並檢查響應對象,它是否在你的所有JSON中都有? –

+0

無法在response.d中獲得break point,但可以簽入Fiddler我正在獲取JSON內的所有內容 – Simsons

0

試試這個

dataSource: { 
    transport: { 
      read: { 
        url: "http://localhost/KendoServices/Web/GetProductDetails", 
        contentType: 'application/json; charset=utf-8', 
        dataType: "json" 
        } 
    }, 
    schema: { 
       data: "d" 
      } 
    } 
} 
0

這是多麼我已經做到了:

$("#grid").kendoGrid({ 
     dataSource: {    
      transport: { 
        read: { 
          url : pUrl, 
          dataType: "json" 
        } 
      }, 
      pageSize:40,     
      schema: { 
       data: function(response) { 
        return response.json; 
       } 
      }    

     }, 
     height: 550, 
     groupable: false, 
     sortable: true, 
     pageable: { 
      refresh: false, 
      pageSizes: false, 
      buttonCount: 5 
     }, 
     columns: [ 
      { 
       field: "SEQ_NO", 
       title: "No", 
       filterable: false, 
       width: 120 
      }, { 
       field: "LOT_NO", 
       title: "Lot No (INS' No)" 
      }, { 
       field: "TYPE", 
       title: "INPUT (At 100% Burden)" 
      }, { 
       field: "ATTRIBUTE01", 
       title: "1.0 In" 
      }, { 
       field: "ATTRIBUTE02", 
       title: "2.0 In" 
      }, { 
       field: "ATTRIBUTE03", 
       title: "0.05 In" 
      }, { 
        field: "RESILT", 
        title: "RESILT" 
      } 
     ] 
    }); 

Code Result Example

+0

不鼓勵與圖像的外部鏈接。 – efekctive