Ext的EditTreeGrid實現(c#)

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

-----------------------------------------------------------------------------------------------------------------------------


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章