サーバー側適切にフォーマットされたjsonを返すWCFを使用しています。jquery $.ajax 関数を使用すると、期待されるデータを受け取ることができるので、(jqWidgets にニュアンスがない限り) WCF 側が正しいと仮定しましょう。
私がうまくいかないのは、jqx dataAdapter に同じデータをロードすることです。私はさまざまな方法を試しましたが、常にレコードがありません。これがジャバスクリプトです。
<script type="text/javascript">
$(document).read(function() {
var source = {
type: "GET",
data: "",
dataType: "json",
dataFields: [
{ name: "ID" },
{ name: "Name" }
],
url: "TestService.svc/GetAttributes",
root: 'GetAttributesResult'
};
var dataAdapter = new $.jqx.dataAdapter( source );
$("#jqxGrid").jqxGrid(
{
source: dataAdapter,
columns: [
{ text: 'ID', datafield: 'ID', width: 200},
{ text: 'Name', datafield: 'Name', width: 200}
]
});
});
</script>
参考までに、WCF サービスから返されるデータは次のようになります。
{"GetAttributesResult":[{"ID":"1","Name":"Make"},{"ID":"2","Name":"Model"}]}
次のような簡単なことを試してみると
var dataAdapter = new $.jqx.dataAdapter(source);
VS2012 でのデバッグ中に空のレコードセットが表示されます。
どんな助けでも大歓迎です。これはまだプロジェクトの初期段階にあるため、私は完全に異なるデザインの方向性を取ることにオープンです。
ありがとうございました!