2

最終的に Redis データベースに接続することを期待して、jqGrid を学習しています。最初のステップとして、ローカル データを操作します。並べ替え可能な行を使用する必要があるのは次のとおりです (グリッド内で行をドラッグ アンド ドロップします)。グリッドが表示され、問題なく表示されます。列は並べ替え可能ですが、行を選択して移動することはできません。何が欠けているのでしょうか? データがローカルだからですか?

css ファイルと js ファイルは問題なくロードされます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My First Grid</title>

<link rel="stylesheet" type="text/css" media="screen" href="themes/redmond/jquery-ui-1.8.23.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />

<script src="js/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.23.custom.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function(){
  jQuery("#mytable").jqGrid({
      datatype:"clientSide",
      data:[ {"number": 1, "segment":"frontmatter", "name": "chap0"},
             {"number": 2, "segment":"mainmatter",  "name": "chap1"},
             {"number": 3, "segment":"backmatter",  "name": "chap2"},
           ],
      colNames:['Chapter Name', 'Chapter Number', 'Document Segment'],
      colModel:[
              {name:'name'},
              {name:'number', sorttype:'number'},
              {name:'segment'},
              ],
      autowidth:true,
      height:'200',
      sortname: 'number',
      viewrecords: true,
      caption: 'My first grid',
      altRows:true,
  });
});
jQuery("#sortrows").jqGrid('sortableRows');
</script>

</head>
<body>

<table id="mytable"></table>
</body>
</html>
4

1 に答える 1

5

はい、jqGridはローカル データでsortableRowsをサポートします。answerからのデモの単なるコピーである demo は、 jqGrid 4.4.1 を使用し、動作します。

投稿したコードには、小さいながらも重要なエラーが 2 つあります。

  • を使用しますが、別の:jQuery("#sortrows").jqGrid('sortableRows');でグリッドを作成しました。だからあなたはに変更する必要がありますidjQuery("#mytable")"#sortrows""#mytable"
  • 行をブロックjQuery("#mytable").jqGrid('sortableRows'); に移動する必要があります。$(document).ready(function(){});現在のコードは、グリッドが作成さsortableRows れる前に呼び出しているため、機能しません。
于 2012-09-26T17:29:00.740 に答える