隨筆-55  評(píng)論-72  文章-2  trackbacks-0

             Dhtmlx是一個(gè)半開(kāi)源的js框架,說(shuō)是半開(kāi)源,因?yàn)樗挠行┠_本是收費(fèi)的??傮w感覺(jué)很輕巧,可依賴的東西不多,和ext這樣的龐然大物,dhtmlx應(yīng)該定位為一個(gè)tool更為合適。我自己一直在使用,很喜歡它。因?yàn)榫W(wǎng)上好像沒(méi)看見(jiàn)可用的API中文翻譯,今天終于鼓起勇氣來(lái)做這件事情,純屬個(gè)人愛(ài)好,大伙見(jiàn)笑了,其實(shí)我的英文不好,大學(xué)四年,英語(yǔ)就掛過(guò)四次。好,不廢話了,這就開(kāi)始。

          1       dhtmlxgrid

          1.1     API

          1.1.1                      attachEvent(evName , evHandler)

          版本:大眾版

          參數(shù):

          evName  可定義事件名稱

          evHandler 用戶自定義處理函數(shù).

          用途:對(duì)當(dāng)前grid事件綁定用戶的自定義的處理js函數(shù),這里支持兩種格式定義

          一 匿名函數(shù)定義

          <script>  

            grid.attachEvent("onRowSelect",function(rowId,cellIndex){  

               alert("Row with id="+rowId+" was selected");  

            });  

          </script>  

          二 命名函數(shù)定義

          <script>  

             grid.attachEvent("onEditCell",doOnEditCell);  

             function doOnEditCell(stage,rowId,cellIndex,newValue,oldValue){  

                if ((stage==2)&&(newValue!=oldValue)){  

                   alert("Cell with id="+rowId+" and index="+cellIndex+" was edited");  

                   return true;  

                }  

                return true;  

             }  

          </script>  

           這里也支持一個(gè)事件綁定多個(gè)處理函數(shù)的方法

          <script>  

             grid.attachEvent("onCheck",doOnCheck1);  

             grid.attachEvent("onCheck",doOnCheck2);  

             function doOnCheck1(rowId,cellIndex,state){  

                if (state){  

                   alert("Checkbox in the row with id="+rowId+" was checked");  

                }  

             }  

             function doOnCheck2(rowId,cellIndex,state){  

                if (state){  

                   alert("Checkbox in column with index="+cellIndex+" was checked");  

                }  

             }  

          </script>  

          執(zhí)行順序?yàn)閐oOnCheck1 –》doOnCheck2,這里可以用于通過(guò)全局js變量實(shí)現(xiàn)grid連動(dòng)效果的實(shí)現(xiàn)。如,先onRowSelect獲得當(dāng)前選中單元格的值,針對(duì)當(dāng)前值,定義一個(gè)函數(shù)改變當(dāng)前cell的樣式等,當(dāng)然這樣的操作也可以一個(gè)function中實(shí)現(xiàn),這里定義為分離,可實(shí)現(xiàn)兩個(gè)函數(shù)的被其他地方公共使用。

          Grid中可供綁定的事件,參考grid事件介紹。

          1.1.2                      attachFooter(values, style)

          版本:專業(yè)版

          參數(shù):

          values:增加行的每個(gè)單元格值,以數(shù)組的形式給出,這里支持html的值表示

          style:?jiǎn)卧竦臉邮?/font>

          用途:

          在grid的最后動(dòng)態(tài)新增一行(表腳),注意當(dāng)前表腳不會(huì)隨上下滾動(dòng)條一起移動(dòng),并設(shè)置各單元數(shù)據(jù)和格樣式

          可供參考實(shí)例:

          //數(shù)組形式  

          grid.attachFooter("A,B,C,D");  

           //數(shù)組形式  

          grid.attachFooter(["A","B","C","D"])  

           //跨列增加  

          grid.attachFooter("A,#cspan,C,#cspan");  

          //跨行增加  

          grid.attachFooter("A,#rspan,C,#rspan");  

          //表達(dá)式html值  

          grid.attachFooter ("A,<strong>B</strong>,C,<a );  

          //指定各單元格樣式  

          grid.attachFooter ("A,B,C,D",["","color:red;","",""]);  

          在onload事件中調(diào)用  

          grid.load("grid.xml",function(){  

                  grid.attachFooter ('A,B,C');  

                  grid.attachFooter ('G,H,I');  

                  grid.setSizes();//文檔上說(shuō)這里必須加上,但沒(méi)發(fā)現(xiàn)其必要性  

             });  

          1.1.3                      attachHeader(values, style)

          版本:大眾版

          參數(shù):

          values:增加行的每個(gè)單元格值,以數(shù)組的形式給出,這里支持html的值表示

          style:?jiǎn)卧竦臉邮?/font>

          用途:

          定義grid的表頭,注意當(dāng)前表頭不會(huì)隨上下滾動(dòng)條一起移動(dòng),并設(shè)置各單元數(shù)據(jù)和格樣式

          具體運(yùn)用與attachHeader類似

          1.1.4                      attachToObject(obj)

          版本:大眾版

          參數(shù):

          Obj:當(dāng)前綁定的grid的對(duì)象

          用途:

          將當(dāng)前定義grid對(duì)象重新綁定到某個(gè)容器中,可實(shí)現(xiàn)grid在頁(yè)面上容器間(如div)的動(dòng)態(tài)切換,好像不能重新綁定到原有的容器定義,使用原有的容器僅是display=none而已,因?yàn)椋和ㄟ^(guò)alert 容器的innerHTML發(fā)現(xiàn),原有容器和新綁定容器值一致

          參考實(shí)例:

          <!—原有容器-->  

          <div id="listdiv"   style=" border-style:solid;width:100%;height:316px;"></div>  

          <table width="700">  

              <tr>  

                  <td width="50%" valign="top">  

          <!—可綁定新容器-->  

          <div id="gridbox" style="width=350px;height:150px;background-color:white;"></div>  

                  </td>  

                  <td valign="top">  

          <!—可綁定新容器-->             

          <div id="gridbox2" style="width=350px;height:150px;background-color:white;border:1px solid blue;" align="right"></div>  

                  </td>  

              </tr>  

          <table>  

          <input type="button" onclick="dotacche()" value="00000"/>  

          <input type="button" onclick="doctacche()" value="1111"/>  

          <script>  

          function dotacche() {  

                   ckmygrid.attachToObject(document.getElementById("gridbox2"));  

             

          }  

          function doctacche() {  

                   ckmygrid.attachToObject(document.getElementById("gridbox"));  

          //      ckmygrid.attachToObject(document.getElementById("listdiv"));這里執(zhí)行沒(méi)有效果  

          }  

          </script>  

          1.1.5                      destructor

          版本:大眾版

          參數(shù):

          Obj:當(dāng)前綁定的grid的對(duì)象

          用途:

          徹底銷毀當(dāng)前grid在頁(yè)面中的使用,并釋放其對(duì)象占用的資源(如js數(shù)組置空等),若重新使用,必須通過(guò)init創(chuàng)建,有別于clearAll,后者僅把grid中的所有行刪除,grid本身還可以進(jìn)行數(shù)據(jù)的重填充。

          這里也可以采用比較暴力的銷毀方式,其grid負(fù)載的容器.innerHTML = “&nbsp;”;即可,但這樣grid創(chuàng)建的全局js變量沒(méi)有完成銷毀過(guò)程

          參考實(shí)例:無(wú)

          1.1.6     detachEvent(id)

          版本:大眾版

          參數(shù):

          id 事件序號(hào),全局唯一

          用途:

          刪除grid中某個(gè)事件的處理過(guò)程

          參考實(shí)例:無(wú)

          1.1.7                      detachFooter(index)

          版本:專業(yè)版

          參數(shù):

          index 表腳索引

          用途:

          刪除grid的某個(gè)表腳,與attachFooter配對(duì)使用

           參考實(shí)例:無(wú)

          (注:本人文章均為原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處!20100620寫于深圳。)



          一篇好的文章應(yīng)該如一壇佳釀,未償已久醉于心;或如一壺好茶,品嘗之間回味無(wú)窮;或如與心愛(ài)的人共進(jìn)晚餐,僅餐秀色足以飽食。我不妄想自己的文章能驚世駭俗,但始終期待有“和旋之音,擊缶之伴”。
          posted on 2010-06-24 22:09 刀光劍影 閱讀(890) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 绥中县| 嘉峪关市| 福鼎市| 女性| 即墨市| 张家川| 徐水县| 定结县| 宜君县| 湖南省| 隆回县| 隆化县| 阿合奇县| 新丰县| 藁城市| 石楼县| 漠河县| 化州市| 琼结县| 英吉沙县| 皋兰县| 舟曲县| 江川县| 揭阳市| 彭州市| 吴忠市| 乌兰县| 汉寿县| 漠河县| 如东县| 岚皋县| 北川| 仁化县| 建阳市| 武平县| 周口市| 霍城县| 漳浦县| 德格县| 运城市| 太湖县|