SMART datagrid v.1 > Examples

Back  Forward

Clipboard Paste  Example

当用户按ctrl+v键时,为获取剪贴板的值并将其粘贴到网格的选中区域, 我们需要首先将网格editOptionspasteEnabled属性设置为true。 这时,如果singlePastetrue,就不会全部粘贴所获取的所有值,而只会复制到聚焦单元格。 

默认值为true。  默认值为false。 

Grid - 1
rows

为了将剪贴板文本储存为非TEXT字段的数据单元格的值,我们需要进行格式转换,并且可以通过多种方式而解决。 首先,可以在列的pasteCallback属性中,指定回调函数。 已在"利率"列中设置如下。 

Code -1
    col.setPasteCallback(function (row, field, text) {
        var v = parseFloat(text);
        return isNaN(v) ? 1.0 : v;
    });

或者,也可以在网格级别,指定editOptions.pasteCallback。 指定列的pasteCallback的情况将会被忽视。 

Code -2
    grid.setEditOptions({
        pasteCallback: function (row, column, field, text) {
            var v;
            switch (field.fieldName()) {
                case 'country':
                    v = text && text.indexOf('X_') != 0 ? 'X_' + text : text;
                    break;
                default:
                    v = field.readValue(text);
                    break;
            }
            return v;
        }
    });

如果没有指定回调函数,就可以根据字段的dataType,在editOptions指定转换格式。 下列网格中,通过如下代码,分别指定了EditOptions.pasteDatetimeFormatspasteBooleanFormat、 pasteNumberChars。 

Code -3
    grid.setEditOptions({
        pasteDatetimeFormats: ['yyyy-MM-dd', 'yyyyMMdd'],
        pasteBooleanFormat: "false,f:true,t:",
        pasteNumberChars: "$w,abcd"
    });

可以指定一个以上的日期转换格式,而pasteNumberChars在NUMBER字段,指定可以在原文中排除的文本,以便能够转换字符串为数字。 

Grid - 2
rows

查看源代码 JSP 

See Also
GridBase.editOptions
GridStyles.datetimeFormat
GridStyles.numberFormat
GridStyles.booleanFormat
GridColumn.styles
ValueColumn.copyCallback
EditOptions.copyCallback
EditOptions.copyDatetimeFormat
EditOptions.copyNumberFormat
EditOptions.copyBooleanFormat
Examples
剪贴板复制
单元格编辑