在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的文件
-----------------------------------------------------------------------------------------------------------------------------