2017-02-14 17 views
0

マイJQGridコードがJQGridが

jQuery("#jqgrid").jqGrid({ 

mtype: 'GET', 
datatype: "json", 
height: '350', 
colNames: ['<%=Resources.Resource.Action%>','uid', '<%=Resources.Resource.Fullname%>', '<%=Resources.Resource.Username%>', '<%=Resources.Resource.Group%>', '<%=Resources.Resource.Status%>', '<%=Resources.Resource.JoinedDate%>', '<%=Resources.Resource.LastLoginDate%>', '<%=Resources.Resource.LastLoginIp%>'], 
colModel: [ 
    { name: 'act', index: 'act', sortable: false }, 
    { name: 'uid', index: 'uid' }, 
    { name: 'userfullname', index: 'userfullname' }, 
    { name: 'username', index: 'username' }, 
    { name: 'MemberGroup', index: 'MemberGroup', editable: true }, 
    { name: 'Status', index: 'Status', align: "right", editable: true }, 
    { name: 'JoinDate', index: 'JoinDate', align: "right", editable: true, editable: true, sorttype: "date", unformat: pickDate }, 
    { name: 'LastLoginDate', index: 'LastLoginDate', align: "right", editable: true, editable: true, sorttype: "date", unformat: pickDate }, 
    { name: 'LoginIp', index: 'LoginIp', sortable: false, editable: true }], 
jsonreader: { 
    repeatitems: false, root: 'rootUser', 
    id: 'uid', 
    page: function(obj) { return 1; }, 
    total: function(obj) { return 1; }, 
    records: function (obj) { return obj.rootUser.length; }, 

}, 
rowNum: 10, 
rowList: [10, 20, 30], 
pager: '#pager_jqgrid', 
sortname: 'uid', 
rownumbers: true, 
toolbarfilter: true, 
viewrecords: true, 
sortorder: "asc", 
gridComplete: function() { 
    var ids = jQuery("#jqgrid").jqGrid('getDataIDs'); 
    for (var i = 0; i < ids.length; i++) { 
     var cl = ids[i]; 
     be = "<button class='btn btn-xs btn-default btn-quick' title='Edit Row' onclick=\"showPanelPlayer()\"><i class='fa fa-pencil'></i></button>"; 
     //se = "<button class='btn btn-xs btn-default btn-quick' title='Save Row' onclick=\"jQuery('#jqgrid').saveRow('" + cl + "');\"><i class='fa fa-save'></i></button>"; 
     //ca = "<button class='btn btn-xs btn-default btn-quick' title='Cancel' onclick=\"jQuery('#jqgrid').restoreRow('" + cl + "');\"><i class='fa fa-times'></i></button>"; 
     //jQuery("#jqgrid").jqGrid('setRowData', ids[i], { act: be + se + ca }); 
     jQuery("#jqgrid").jqGrid('setRowData', ids[i], { act: be }); 
    } 
}, 
editurl: "ajax/dummy-jqtable.html", 
caption: "<%=Resources.Resource.MemberListing%>", 
multiselect: true, 
autowidth: true, 

}未満である空のグリッドを示すJSONからデータをロードすることができません)。

[送信]ボタンをクリックすると、バックエンドページが呼び出され、Jsonが生成されます。ボタンのコードを提出するマイ

は、バックエンドから

function showPanel() {      
    var UserName = document.getElementById('txtUser').value;     
    $('#jqgrid').setGridParam({ url: 'ListUser.aspx?cmd=LoadUser&UN=' + UserName }).trigger('reloadGrid'); 
} 

JSON戻ります私が直面している問題は、私のグリッド・ショー空である

{"rootUser":[{"uid":1,"userfullname":"Johnson","username":"Deng","MemberGroup":0,"Status":1,"JoinDate":new Date(1487058713667),"LastLoginDate":new Date(1487058713667),"LoginIp":""},{"uid":2,"userfullname":"James Abb","username":"James","MemberGroup":0,"Status":1,"JoinDate":new Date(1487058713667),"LastLoginDate":new Date(1487058713667),"LoginIp":""}]} 

で、何も私は私のコードを形成して行方不明ということです?

答えて

0

"JoinDate": new Date(1487058713667)のような使用フィールドのため、入力データはJSON形式ではありません。ここでJSONデータを検証できます:http://jsonlint.com/。問題の修正は、使用するjqGridのバージョンと、jqGridのフォーク(free jqGrid、コマーシャルGuriddo jqGrid JSまたはバージョン< = 4.7の古いjqGrid)によって異なります。たとえば、無料のjqGridを使用すると、を使用して、"JoinDate": 1487058713667から14-Feb-2017 08:51:53までのデータを解析することができます。あなたは原因の、他のnewformatを使用することができます。

さらに、setRowDataと呼ぶループでgridCompleteを使用しないことをお勧めします。カスタムフォーマッタまたはformatter: actionsの使用はずっと効果的です。

+0

すべての日時の値を削除した後は何も表示されません。 –

+0

@abccba:問題を再現するデモを提供する必要があります。私は答えを投稿する前に私の提案をテストしました。 formatatter:{srcformat: "u1000"、newformat: "dMY H:i"の入力データ '' JoinDate ':1487058713667'の '' 2月-2007年08:51:53' :s "}'私は私のテストで無料のjqGrid 4.13.6を使用しました。 – Oleg