2015-09-08 41 views
0

我有下面的代码,我想向webix数据表添加记录。我是一个JS新手,所以不确定正确的定义以确保变量作用域是有效的。将按钮单击到webix数据表

基本上我有像这样寻呼机和数据表的正常工作:

webix.ready(function(){ 

     webix.ui({ 
      id: "pagerA", 
      view: "pager", 
      template:"{common.prev()} {common.pages()} {common.next()}", 
      container: "page_section", 
      size: 15, 
      group: 5 
     }); 

     webix.ui({ 
      container:"gasforecast", 
      rows: [ 
      {type: "header", template: "Gas Forecast"}, 
      gasgrid = { 
      view:"datatable", 
      editable: true, 
      navigation: true, 
      pager: "pagerA", 
      columns:[ 
       { id:"PKey",   header:"",   hidden:true}, 
       { id:"SiteName",  header:"Site",  width:250, sort:"string"}, 
       { id:"PercentageChange",header:"% Change", width:100, editor: "text", sort:"int"}, 
       { id:"kWChange",  header:"kW Change", width:100, editor: "text", sort:"int"} 
      ], 
      autoheight:true, 
      autowidth:true, 
      select:"row", 

      save: "data/gasforecastdata_save.php", 
      url: "data/gasforecastdata.php" 
     }]}); 
    }); 

现在我希望能够有一个按钮,点击它时,添加一行到DataTable,所以我补充一下:

 cmdAddRow = webix.ui({ 
      container:"addbutton", 
      view:"button", 
      label: "Add Site", 
      click: function() { 
       var data = {"SiteName": "X", "PercentageChange": 1, "kWChange": 0}; 
       gasgrid.add(data); 
      } 

     }); 

按钮被点击然而,当它产生一个“未捕获的类型错误:gasgrid.add不是函数”

我曾尝试添加一个id:属性到DataTable和和借鉴e,但我仍然有错误。不知道该怎么办?

由于

加里

回答

1

是的,ID的使用是正确的做法。

如果更改旁边似

{ type: "header", template: "Gas Forecast"}, 
{ view:"datatable", id:"gasgrid", editable: true 

的初始化代码之后,您将能够引用的数据表,并调用其API

webix.ui({ 
    container:"addbutton", 
    view:"button", 
    label: "Add Site", 
    click: function() { 
     var data = {"SiteName": "X", "PercentageChange": 1, "kWChange": 0}; 
     $$("gasgrid").add(data); 
    } 
}) 
相关问题