SMART datagrid v.1 > Examples

Back  Forward

Row Inserting  Example

为了使用户可以直接在现有行中插入新的行,网格GridBase.editOptionsinsertable需要被指定为true。 而且,为了添加在最后一行之后,appendable需要被指定为true。 两种属性的默认值都是false。 

首先,为进行行插入,我们需要将焦点移动至插入位置上的行,并输入insert(mac为ctr+alt+I)键。 在完成输入以后,如同行修改,为提交添加,我们需要使用方向键或鼠标,将焦点移动至其他行。 

下列例题中,我们通过DataColumn.defaultValuedefaultExpression属性而设置默认值。 

'国家'的默认值: '产品代码'的默认表达式:

(有关rand运算符等,请参考表达式概述页面。) 

Grid - 1
0 rows

完成输入的行数据将会传递至GridDataSet,并且当提交数据行添加时,将会触发GridDataSet.onRowInserted事件。 而且,类似于行修改,在开始插入网格行之前,将会触发GridBase.onInserting事件, 而如果在这个事件处理器中明确返回false,就会无法开始行插入。 

 

Code -1
    grdMain.onInserting = function (grid, rowIndex) {
        if ($('#chkEventInsertable').is(':checked')) {
            return false;
        }
    };

如果appendabletrue,就可以在最后一行,通过按下方向键而开始行添加。 事件等其他与插入的情况是相同的。 

而且,如同调用GridBase.edit而开始行修改的方式,可以通过调用GridBase.insertGridBase.append,分别开始行插入和添加, 并且当提交行添加并将值传递至数据组而实际创建数据行时,将会触发GridDataSet.onRowInserted事件。 

 

Code -2
    dsMain.onRowInserted = function (ds, row) {
        console.log('Data row inserted at ' + row);  
    };
Grid - 2
0 rows

查看源代码 JSP 

See Also
GridBase.onInserting
EditOptions
GridView.editOptions
Examples
行修改
行删除
单元格编辑
状态单元格
编辑事件
编辑键