2012-09-26 82 views
2

我正在學習jqGrid,希望能夠最終將其連接到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> 

回答

5

是的,jqGrid支持sortableRows與本地數據。 The demo,這只是從the answer演示的副本,使用jqGrid 4.4.1,它的工作原理。

您發佈的代碼有兩個小的,但重要的錯誤:

  • 您使用jQuery("#sortrows").jqGrid('sortableRows');,但你和其他id創建網格:jQuery("#mytable")。所以,你必須改變"#sortrows""#mytable"
  • 你要招行jQuery("#mytable").jqGrid('sortableRows');$(document).ready(function(){});。您當前的代碼調用sortableRows之前網格創建,所以它不會工作。
+0

這就是問題!第一個只是一個錯字,但第二個問題是我對演示的誤解。現在它工作了! – Tim

+0

@Tim:不客氣!最重要的是,您的代碼現在可以工作。 – Oleg

+0

這正是我期待的。我在例子中看到複選框沒有響應。我可以使用工作按鈕還有柱子嗎? –