テーブルが表示され、正常に表示され、列ヘッダーが表示されますが、「処理中です。しばらくお待ちください...」という一瞬の後、ステータスが「項目なし」になります。DOM で応答を調べると、次のようにフォーマットされたデータが Web サービスから適切に返されていることがわかります。
<?xml version="1.0" encoding="utf-8"?>
<MyDataClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<Page>1</Page>
<Rows>
<MyDataRow>
<request_id>13073</request_id>
<status>501</status>
<req_by_user_id>herbjm</req_by_user_id>
</MyDataRow>
...
....
</Rows>
</MyDataClass>
問題のフレキシグリッド JavaScript は次のとおりです。
$('#report').flexigrid({
url: 'reportdata.asmx/rptPendingServerRequestsFlexi',
dataType: 'xml',
colModel: [
{ display: 'ID', name: 'request_id', width: 40, sortable: true, align: 'center' },
{ display: 'Status', name: 'status', width: 180, sortable: true, align: 'left' },
{ display: 'Requested By', name: 'req_by_user_id', width: 120, sortable: true, align: 'left' }
],
searchitems: [
{ display: 'ID', name: 'request_id' },
{ display: 'Status', name: 'status', isdefault: true },
{ display: 'Requested By', name: 'req_by_user_id' }
],
sortname: "request_id",
sortorder: "desc",
usepager: false,
title: 'Server Requests',
useRp: false,
rp: 30,
showTableToggleBtn: false,
singleSelect: true
});
ボーナスポイントとして、ページングが無効になっている場合でもフッターを表示するにはどうすればよいですか?
更新: flexigrid デモの DOM を調べたところ、返された XML がどのようにフォーマットされているかを以下に示します。
<?xml version="1.0" encoding="utf-8"?>
<rows>
<page>1</page>
<total>239</total>
<row id='1'>
<cell>1</cell>
<cell>501</cell>
<cell>Steve</cell>
</row>
<row id='2'>
<cell>2</cell>
<cell>501</cell>
<cell>Fred</cell>
</row>
</rows>
それが機能していない理由だと思いますか?応答を作成する方法を確認するには、次の質問を参照してください: vb.net return json object with multiple types?