単なる配列ではなくオブジェクトの配列を渡すことにより、コントロールに jQuery を使用してテーブルを表示しようとしています。DT_RowId ラベルを使用してテーブルの行にラベルを付けることができるように、これを行いたいと考えています。ユーザーが使用できるテーブルに削除機能を追加できるように、これを行う必要があります。ここに私がやろうとしていることのいくつかの例があります:
http://datatables.net/release-datatables/examples/server_side/object_data.html
http://datatables.net/release-datatables/examples/server_side/ids.html
以下のコードを使用して、これらの例に示されている両方の方法でデータをフォーマットしようとしました。
searchWsConfigurations.jsp
<link rel="stylesheet" type="text/css" href="<c:url value='/styles/data_table.css'/>" />
<link rel="stylesheet" type="text/css" href="<c:url value='/styles/data_table_proper.css'/>" />
<link rel="stylesheet" type="text/css" href="<c:url value='/styles/demo_table_jui.css'/>" />
<script src="<c:url value='/javascript/jquery.dataTables.min.js' />" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
//Datatable transformations
$('#wsConfigurationTable').dataTable( {
"bJQueryUI": true,
"bPaginate": true,
"bDeferRender": true,
"bProcessing" : true,
"bServerSide" : true,
"sAjaxSource" : "<c:url value='/maintenance/searchWsConfigurationsServerSideProcessingReport.htm'/>",
"iDeferLoading" : 10,
"bLengthChange": true,
"iDisplayLength": 10,
"bFilter": false,
"bSort": true,
"aoColumns": [
{ "mData": "testerId" },
{ "mData": "date" },
{ "mData": "hostName" },
{ "mData": "ipAddress" },
{ "mData": "alias" },
{ "mData": "wsModel" },
{ "mData": "operatingSystem" },
{ "mData": "stRevisions" }],
"bInfo": true,
"bAutoWidth": true,
"sPaginationType": "full_numbers"
});
});
</script>
<br>
<h2><tiles:getAsString name="heading" ignore="true"/></h2>
<br>
<a href="addWsConfiguration.htm"><img src="/vpdConsole/images/icons/add-icon-button_32x32.png" class="undecorated" style="float:right"/></a>
<table id="wsConfigurationTable" class="datatable">
<thead>
<tr>
<th>Tester ID</th>
<th>Entry Date</th>
<th>Hostname</th>
<th>IP</th>
<th>Alias</th>
<th>Model</th>
<th>OS</th>
<th>ST Rev</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
サーバーが期待どおりの値を返しているにもかかわらず、列数に関するエラーが発生し続けます。これが私が応答して得ているものです:
{"sEcho":1,"iTotalRecords":13105,"iTotalDisplayRecords":13105,"aaData":[{"0":"Tester 1","1":"2013-05-14","2":"Host 1","3":"192.168.1.43","4":"Alias 1","5":"HP Proliant Server","6":"Red Hat Linux 5","7":"2.1.9","DT_RowId":"row_1","DT_RowClass":"visibleClass"},{"0":"Tester 1","1":"2013-05-14","2":"Host 1","3":"192.168.1.96","4":"Alias 1","5":"HP Proliant Server","6":"Red Hat Linux 5","7":"2.1.9","DT_RowId":"row_2","DT_RowClass":"visibleClass"},{"0":"Tester 1","1":"2013-05-15","2":"Host 1","3":"192.168.1.14","4":"Alias 1","5":"HP Proliant Server","6":"Red Hat Linux 5","7":"2.1.9","DT_RowId":"row_3","DT_RowClass":"visibleClass"},{"0":"Tester 10","1":"2013-05-14","2":"Host 10","3":"192.168.1.18","4":"Alias 10","5":"Sun Server X200","6":"Windows 7 Ultimate","7":"1.5.7","DT_RowId":"row_4","DT_RowClass":"visibleClass"},{"0":"Tester 10","1":"2013-05-14","2":"Host 10","3":"192.168.1.34","4":"Alias 10","5":"Sun Server X200","6":"Windows 7 Ultimate","7":"1.5.7","DT_RowId":"row_5","DT_RowClass":"visibleClass"},{"0":"Tester 10","1":"2013-05-15","2":"Host 10","3":"192.168.1.9","4":"Alias 10","5":"Sun Server X200","6":"Windows 7 Ultimate","7":"1.5.7","DT_RowId":"row_6","DT_RowClass":"visibleClass"},{"0":"Tester 100","1":"2013-05-14","2":"Host 100","3":"192.168.1.63","4":"Alias 100","5":"Sun Server X200","6":"Windows 7 Ultimate","7":"1.5.7","DT_RowId":"row_7","DT_RowClass":"visibleClass"},{"0":"Tester 100","1":"2013-05-14","2":"Host 100","3":"192.168.1.9","4":"Alias 100","5":"Sun Server X200","6":"Windows 7 Ultimate","7":"1.5.7","DT_RowId":"row_8","DT_RowClass":"visibleClass"},{"0":"Tester 100","1":"2013-05-15","2":"Host 100","3":"192.168.1.63","4":"Alias 100","5":"Sun Server X200","6":"Windows 7 Ultimate","7":"1.5.7","DT_RowId":"row_9","DT_RowClass":"visibleClass"},{"0":"Tester 1000","1":"2013-05-14","2":"Host 1000","3":"192.168.1.15","4":"Alias 1000","5":"Sun Server X200","6":"Windows 7 Ultimate","7":"1.5.7","DT_RowId":"row_10","DT_RowClass":"visibleClass"}]}
これを機能させるために何をする必要があるのか わかりません。通常の配列を使用するとテーブルを表示できますが、オブジェクトの配列に切り替えると、データのサイズが未定義であり、既知の列数と一致しないというエラーが表示されます。どんな助けでも大歓迎です。