修改w2ui插件

时间:2013-05-28 11:31:28

标签: javascript jquery plugins w2ui

我正在使用w2uihttp://w2ui.com/)插件。

考虑这个例子:1

  1. 我想在点击添加按钮时,网格中会出现一个空的可编辑行以添加新行?

  2. 我没有找到隐藏搜索框的配置,我该如何隐藏它?

  3. 如何将列设置为ID?目前它只识别recid

2 个答案:

答案 0 :(得分:1)

  1. 因为这是一个更大的问题。我将在下一篇文章中回答。

  2. 要隐藏搜索框,可以通过设置w2grid.show.toolbarSearch = false来执行此操作;有关详细信息,请参阅http://w2ui.com/web/docs/w2grid.show

  3. recid是必需的唯一字段。它一定要是。但是,您可能有任意数量的其他列不必显示,甚至列数组中也没有相应的元素。如果服务器端将id作为唯一列返回,则可以添加事件侦听器onLoad并通过记录设置循环recid作为id。我知道它不是很漂亮,但它会完成工作。更改服务器端以返回recid将使它漂亮。

答案 1 :(得分:1)

以下是单击按钮时如何在网格中添加新记录的示例:

    <html>
    <head>
    <link rel="stylesheet" type="text/css" media="screen" href="../css/w2ui.css" /> 
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/w2ui.js"></script>
    <script>
    $(function () {
      $('#grid').w2grid({ 
        name: 'grid', 
        show: { 
          toolbar: true,
          footer: true,
          header: true,
          columnHeaders: true,
          lineNumbers: true,
          toolbarDelete: true,
          toolbarSave: true,
          toolbarAdd: true
        },
        columns: [        
          { field: 'recid', caption: 'ID', size: '50px', sortable: true, resizable: true, searchable: 'int' },
          { field: 'lname', caption: 'Last Name', size: '30%', sortable: true, resizable: true, searchable: true,
            editable: { type: 'text' }
          },
          { field: 'fname', caption: 'First Name', size: '30%', sortable: true, resizable: true, searchable: true,
            editable: { type: 'text' }
          },
        ],
        onAdd: function (target, data) {
          var recid = 1;
          if (this.records.length > 0) recid = (Math.max.apply(Math, this.find({}))) + 1;
          this.add({ recid: recid });
          $('#grid_grid_edit_'+ (this.records.length - 1) +'_1').focus();
        },
        onSave: function (target, data) {
          var obj = this;
          console.log(data);
          data.onComplete = function () {
            for (var r in data.changed) {
              obj.get(data.changed[r].recid).editable = false;
            }
            obj.refresh();
          }
        }
      });
    });
    </script>
    </head>
    <body>
      <div id="grid" style="width: 100%; height: 500px;"></div>
    </body>
    </html>