iT邦幫忙

0

關於 jQuery 的 jqGrid只會增加一列的問題

你好,我的專案是 ASP.NET MVC 4 , View Engine 是用 Razor ,
jQuery 的版本是 2.0.3
jqGrid 套件的版本是 4.4.4

jQuery 和 jqGrid 都是在 VisualStudio 2010 中用 Nuget 安裝的

在 View Page 中有一段增加 jqGrid 的 JavaScript

<script type="text/javascript" language="javascript">

var jsonStr01 = $.parseJSON('[{ "UserId": "User 01 ", "UserPwd": "12345671 "}]');
var jsonStr02 = $.parseJSON('[{ "UserId": "User 02 ", "UserPwd": "12345672 "}]');


$("#MyJqGrid").jqGrid
({
	datatype: 'json',
        height: 250,
        colNames: ['使用者帳號', '使用者密碼','識別代號'],
        colModel: [
                  	{ name: 'UserId', index: 'Userid', width: 100 },
                        { name: 'UserPwd', index: 'UserPwd', width: 100 },
                        { name: 'Did', index: 'Did', width: 100 }
        	  ],
        autowidth: true, //自动匹配宽度
        height: "100%",   //设置高度
        gridview: true, //加速显示
        multiselect: true,
        pager: '#pager',
        rowNum: 10,
        rowList: [10,20,30,40],
        sortname: 'UserId',
        sortorder: "asc",
        viewrecords: true,
        caption: "單據明細"
});


$("#MyJqGrid").jqGrid('addRowData',1, jsonStr01);
$("#MyJqGrid").jqGrid('addRowData',2, jsonStr02);

</Script>

很奇怪的是 MyJqGrid 這個 jqGrid 只會顯示 jsonStr01 這個值的資料列。

不管用 addRowData 增加多少的資料列,畫面上的 MyJqGrid 永遠只會顯示 第一次增加的資料列。

有人知道這個問題塞如何解決嗎?

感謝回覆。

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

4
player
iT邦大師 1 級 ‧ 2013-10-29 17:20:42
最佳解答

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods

addRowData 的傳入參數有4個
rowid,
data,
position,
srcrowid

傳出若為 true 才是成功

或是看它的Demo有沒有你要的
http://www.trirand.com/blog/jqgrid/jqgrid.html

4
Kyle Shen
iT邦新手 2 級 ‧ 2013-10-29 17:49:13

Hi,雖然還沒看程式,但看到jQuery 的版本是 2.0.3
記得JQuery版本2開始不太一樣(簡單來講捨棄舊瀏覽器了)
要不要先確認這個版本跟jqGrid的相容性問題?

player iT邦大師 1 級 ‧ 2013-10-29 18:07:07 檢舉

新版的jQuery 可以加掛相容套件
jQuery Migrate plugin
http://jquery.com/download/

我要發表回答

立即登入回答