jqGridフォーマッタを使用しようとしました:リモートjson urlの "actions"が列名と実際に返されたデータの数が一致しないためact列は列名に余分なものです)。私はオンラインで検索しましたが、すべての例がjsonがキー/値として使用されているローカルデータ(ページ上)用です。url:somepage.phpはcsvの種類の列(キーなしの値) 。また、すべての例がidを表示している間、私は隠しフィールドとしてIDを使用します。もう1つの非表示列も使用します。 は、ここに私のcolmodelです:jqGrid:formatter:リモートjson urlに対して "actions"が機能しません
url: "manager_json",
editurl: "manager_edit",
datatype: "json",
//data: mydata,
width:1000,
//jsonReader: {
// repeatitems : false,
// },
colNames: ["","Id","Uid","Custom Id","Image Name","Coord. X","Coord. Y","Gender","Progress","Status","Created","Updated"],
colModel: [{"name":"act","template":"actions","formatoptions":{"editformbutton":true}},{"name":"id","align":"center","width":33,"editable":false,"hidden":true},{"name":"uid","align":"center","width":33,"editable":true,"hidden":true,"editrules":{"edithidden":false,"required":false}},{"name":"ta_id","align":"center","width":100,"editrules":{"required":true}},{"name":"image","width":150,"template":"text","editrules":{"required":true}},{"name":"x","width":100,"align":"center","template":"integer","editrules":{"required":true}},{"name":"y","width":100,"align":"center","template":"integer","editrules":{"required":true}},{"name":"gender","width":100,"align":"center","formatter":"select","stype":"select","editrules":{"required":true},"edittype":"select","editoptions":{"value":"f:Female;m:Male","defaultValue":"m"},"searchoptions":{"sopt":["eq","ne"],"value":":Any;f:Female;m:Male"}},{"name":"progress","width":120,"align":"center","formatter":"select","stype":"select","editrules":{"required":true},"editable":false,"edittype":"select","editoptions":{"value":"-:New;pf:Process Failed;ps:Process Scheduled;pss:Process Success;p:Processing...;s:Staging;tf:Test Failed;ts:Test Scheduled;tss:Test Success;t:Testing...","defaultValue":"m"},"searchoptions":{"sopt":["eq","ne"],"value":":Any;-:New;pf:Process Failed;ps:Process Scheduled;pss:Process Success;p:Processing...;s:Staging;tf:Test Failed;ts:Test Scheduled;tss:Test Success;t:Testing..."}},{"name":"status","width":100,"align":"center","formatter":"select","stype":"select","edittype":"select","editoptions":{"value":"a:Active;n:New","defaultValue":"m"},"searchoptions":{"sopt":["eq","ne"],"value":":Any;a:Active;n:New"}},{"name":"date_created","width":150,"template":"text","editable":false},{"name":"last_updated","width":150,"template":"text","editable":false}]
そして、ここで私のサーバー(DB)からjqgridの仕様に従って、私の実際のデータ:
{"page":1,"total":1,"records":7,"rows":[{"id":32,"cell":[32,"889daf31ff3e49544f52850258439600","2uu","2ok",2,2,"m","-","a","2017-02-10 18:57:05","2017-02-10 23:37:12"]},{"id":30,"cell":[30,"","11","11",1,1,"m","-","a","2017-02-10 18:01:52","2017-02-10 18:01:52"]},{"id":29,"cell":[29,"aaa","ww222111uu","11",1,1,"m","-","a","2017-02-10 18:00:36","2017-02-10 23:37:08"]},{"id":27,"cell":[27,"","11","1",1,1,"m","-","a","2017-02-10 17:57:41","2017-02-10 17:57:41"]},{"id":25,"cell":[25,"","4tt","4img",4,4,"f","-","n","2017-02-10 17:50:21","2017-02-11 00:26:03"]},{"id":24,"cell":[24,"","1","1",1,1,"m","-","a","2017-02-10 17:49:38","2017-02-10 17:49:38"]},{"id":22,"cell":[22,"","bbb","imam 222",2,22,"f","p","n","2017-02-08 20:14:55","2017-02-10 13:27:57"]}]}
あなたはセル行がcolNames
とcolModel
未満の列を持って見ることができるように。また、idとuid
の列は表示されません。私は、DBから余分な偽の欄に追加しましたが、それは私が事前4.13.7 jqGridを使用しています
を助けなかった
理由私は1ページあたり約5000行になると予想し、ロード時間とサイズを最小限に抑えるため、配列形式(辞書形式ではありません)を使用しようとしていました。提案されたデータ形式が助けになりました。今すぐ動作します。オレグありがとう。 – LSP
@LSP:あなたは大歓迎です!あなたの問題を解決したら、答えを["受け入れる]べきです(http://meta.stackexchange.com/a/5235/147495)。私はあなたが 'rowNum:25'や' rowNum:20'のように、モニタに表示できる行の数に対応するページサイズを使うことをお勧めします。 'rowNum:5000'の使用は、ページをはるかにゆっくりとし、ユーザにとって利点がありません。ページあたり60000行と10行の[デモ](http://www.ok-soft-gmbh.com/jqGrid/OK/performane-15-60000-25-free-jqgrid.htm)を試してみてください。ページあたり1000行すべてで1000行ほど速くなります。 – Oleg
「この回答を受け入れる」というボタンは表示されません...どこですか? – LSP