国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

kendoui的treeView節點點擊事件修改和grid的配置的一點總結

2024-04-27 15:02:29
字體:
來源:轉載
供稿:網友

kendo-ui的treeView節點(node)點擊時  可以觸發一個select的事件(event),并且連續點擊多次相同節點,可以觸發并且只能觸發一次該事件。

可是需求上需要實現:每次點擊相同的節點,都要觸發該select事件。

這個需求,是和kendo的select事件相悖的。

最開始想通過 外部手動觸發select事件,但是發現并不能做到.

后來做了如下配置:

 $("#treeview").kendoTreeView({            dataSource: [                treeData            ],            sPRiteCSSClass: "rootfolder",           //select: onSelect,    //注釋select事件              template: "<span onClick='onTreeViewNodeClick(this);'>#= item.text # </span>",            //---            //其他配置            //---})

 實現該需求主要配置是  template.   使用template為每個節點用span包裹起來,并給一個onClick()  

  這樣一來  每次點擊節點都會觸發一個事件。

  但是為什么不直接在onClick中調用之前已經寫好的onSelect方法呢?

  原因是 在觸發select事件調用onSelect方法時,kendo會給我們自定義方法一個e這個參數,e有很多功能,他知道當前點擊節點所有的配置,比如我們想獲取當前點擊節點的id,

那么就是e.node.id.

   然而在我們沒有用event時間,而選擇使用js的onClick來調用自定義的onSelect方法時,kendo 就不會給我們e這個參數,kendo并不知道我們干了什么。

   所以我需要另一個點擊時的自定義方法,并且我給這個方法的參數是this.  this在這里指的是什么呢?

   就是當前我們所點擊的節點的span元素;使用kendo的dataItem方法就能獲取當前的Node了。

   我們把當前的Node傳給自定義的onSelect方法   也就自然而然的可以代替e參數了,因為當前Node就什么都知道嘛

 

function onTreeViewNodeClick(e){    var tree=  $("#treeview").data("kendoTreeView");         //    var node=tree.dataItem(e);                               //get current node   and  give onSelect as param      onSelect(node,tree);}

 

 

最后要說的一個在使用kendo ui的grid需要注意的問題是:

當我們使用編輯的功能時  (我用的inline,其他的應該也一樣,有待驗證)

我們的kendo的核心功能dataSource  一定要指定唯一標識字段  

 schema: {                                model: {                                    id: "ProductID",   //這里是重點                                    fields: {                                        ProductID: { editable: false, nullable: true },                                        ProductName: { validation: { required: true } },                                        UnitPrice: { type: "number", validation: { required: true, min: 1} },                                        Discontinued: { type: "boolean" },                                        UnitsInStock: { type: "number", validation: { min: 0, required: true } }                                    }                                }                            }

  

代碼中已經標識出重點位置,這個唯一字段名稱的配置,一定必須是id!   無論在我們json中叫什么名字,這里必須是id.

要不然編輯的時候,會出現很多問題,可以試試。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商河县| 北安市| 泸定县| 海原县| 青川县| 襄汾县| 延寿县| 蓝山县| 兴业县| 山西省| 扎囊县| 云霄县| 秦皇岛市| 依兰县| 南皮县| 翼城县| 中超| 丁青县| 湛江市| 明光市| 英超| 将乐县| 高雄县| 阳信县| 天气| 同江市| 海口市| 定州市| 县级市| 丘北县| 太保市| 蒲江县| 合作市| 广宗县| 石嘴山市| 东兰县| 盘锦市| 肥城市| 乐陵市| 林芝县| 多伦县|