溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery easyui datagrid view detailview 使用

發(fā)布時間:2020-03-26 10:48:34 來源:網(wǎng)絡 閱讀:4782 作者:rireach 欄目:web開發(fā)

要用jquery easyui實現(xiàn)下圖這種可打開列表的形式


jquery easyui datagrid view detailview 使用

(此圖截于easyui的api中)


要實現(xiàn)這種主從顯示效果就要用到datagrid中的屬性view:detailview和事件onExpandRow:function(index,row){}


但是,要使用detailview首先要引入detailview.js,內容如下,自己存成js在頁面中引用就行了

http://code.google.com/p/jeasyui/source/browse/trunk/easyui/WebRoot/js/datagrid-detailview.js?r=12



首先還是要在頁面上有個表格,id為tt

<div region="center"  border="false">
  <table id="tt"></table>
</div>

我們有個數(shù)據(jù)庫表student,里面有字段id, name, sex, nation

我們要在主表顯示id和name,點+號展開從表時,在從表中顯示sex和nation

$("#tt").datagrid({
url: "findForPage",
title:"學生基本信息管理",
width : 800,
height : 300,
fit : false,
pageSize : 5,
pageList : [ 5, 10, 15, 20 ],
columns : [ [ {
field : "學號",
title : "學號",
align : "center"
}, {
field : "姓名",
title : "姓名",
align : "center"
} ] ],
view:detailview,//注意1
detailFormatter:function(index,row){
return "<div><table id='ddv-"+index+"'></table></div>";//注意2
},
onExpandRow:function(index,row){//注意3
$("#ddv-"+index).datagrid({
data:[{
"性別":row.sex,
"民族":row.nation}
],
width:600,
height:"auto",
columns:[[
    {field:"性別",title:"性別"},
    {field:"民族",title:"民族"}
]],
onResize:function(){  //注意4
                    $('#tt').datagrid('fixDetailRowHeight',index);  
                },  
                onLoadSuccess:function(){
                    setTimeout(function(){
                        $('#tt').datagrid('fixDetailRowHeight',index);  
                    },0);  
                }
});
$('#tt').datagrid('fixDetailRowHeight',index);//注意5
},
pagination : true
});

注意1處必寫

注意2處必寫。此處function(index,row)兩個參數(shù),index是行索引,row是行數(shù)據(jù)。

函數(shù)中return里的table是用于在下面onExpandRow中進行datagrid


注意3處的index和row與上同

因為row中已經(jīng)存儲了這一行的所有數(shù)據(jù)

所以沒必要在下面的datagrid里再用url:, 再查一遍數(shù)據(jù)庫

那這里就不用url,而用data

下面還有columns,格式不變,但注意data:后面的格式,只有這種格式才能正常讀取數(shù)據(jù),用另一種格式:

data:[{"性別":row.sex},{"民族":row.nation}]

這種格式能讀出數(shù)據(jù),但顯示不正常,還有其它格式,比如再加個中括號之類的根本就讀不出數(shù)據(jù)


再看注意4和注意5,這兩塊代碼必須得寫,不然首次展開從表顯示會出現(xiàn)不正常,有了這兩塊就沒問題了

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI