在Ext給出的官方API的Example中,還沒有一個把Tree與Grid結合的例子,在網上找了一個比較成熟的edittreegrid-1.5文章。這是原作者的鏈接http://www.iteye.com/topic/837402
發現是JAVA的,而且樣式在IE6,7與IE8有一些出入。自己拷過來之後,修改了兩個小地方,而且例子裏也沒有詳細的使用方法。下面自己把自己修改與使用發一下。
先上圖如下:
首先介紹一下頁面引用的文件:
<link rel="Stylesheet" type="text/css" href="../ext-3.2.0/resources/css/ext-all.css" />
<script language="javascript" src="../ext-3.2.0/adapter/ext/ext-base.js"></script>
<script language="javascript" src="../ext-3.2.0/ext-all.js"></script>
<link rel="stylesheet" type="text/css" href="../ext-3.2.0/treeResouces/edittreegrid.css" />
<script type="text/javascript" src="../ext-3.2.0/edittreegrid-pkg-debug.js"></script>
<script type="text/javascript" src="../Js/treegridpanel.js"></script>
<1>
其中 edittreegrid.css爲樣式文件,裏面修改了一個小地方:
在原先的基礎上添加了一行代碼:position:static;使其不從父級繼承位置樣式。
再一個,把原先的background-color: inherit;修改爲background-color: transparent;[默認背景色爲透明]
原先的background-color: inherit;在IE6 IE7下面,會展示淡藍色的背景色,與整體GRID的白色不協調,但在IE8,谷歌,火狐下面都是正常的。
<2>
再一個edittreegrid-pkg-debug.js是引用的基礎源文件,在其中的1601行下面,把
params.parentNodeId = n.parentNode.id; 修改爲 params.parentNodeId = n.parentNode.attributes.id;
因爲發現在增加新的新的信息之後,在其下面再增加新節點時,返回它的ID值有誤。用IEDEBUG測試了下,發現ID的值,在其父節點的parentNode的atrributes中。
再一個,自己添加了一條新的:params.parentNodeDwdm = n.parentNode.attributes.dwdm;
因爲自己不單單想返父節點的ID值,還想返父節點的信息中的dwdm字段的值,就自己定義了一個parentNodeDwdm的屬性,
在後臺獲得此值與獲得ID一樣使用Request.Params["parentNodeDwdm"];
<3>treegridpanel.js文件代引用的代碼文件
裏面與後臺交互的方法都已經在源文件裏定義好了,直接使用就可以如下:
requestApi: {
add:
{
url:'TreeGridPanel.aspx?action=add',
success:subSuccess,
failure:requestFail
},
update:
{
url:'TreeGridPanel.aspx?action=update',
success:subSuccess,
failure:requestFail
},
remove:
{
url:'TreeGridPanel.aspx?action=del',
success:subSuccess,
failure:requestFail
}
}
其中 subSuccess,requestFail爲自己定義後的返回處理方法。
其中要注意:add方法返回的JSON值中,必須有ID的值,即新信息的主鍵值。格式舉例如下:{success:true,msg:'添加成功',id:'aaa'},其中aaa爲新信息的主鍵
----------------------------------------------------------------------------------------------------------------------------------
詳細 代碼文件查看:http://download.csdn.net/source/3510611中有一個edittreegrid的文件
-----------------------------------------------------------------------------------------------------------------------------