SMART datagrid v1.4 > Examples
사용자가 ctrl+v 키를 눌렀을 때, 클립보드 값들을 가져와 그리드의 선택 영역에 붙여넣기 위해서는 먼저 그리드 editOptions의 pasteEnabled 속성이 true로 설정돼야 한다. 이 때, singlePaste가 true이면 가져온 모든 값들을 붙여넣지 않고 포커스셀에만 복사한다.
1.4.5 버전 부터는 pasteToSelection가 true이면 복사한 단일 데이터를 블럭지정된 영역에 붙여넣기를 할수있는 기능을 사용할수 있다.
기본값 true . 기본값 false . 기본값 false .
클립보드 텍스트를 TEXT 필드가 아닌 데이터셀 값들로 저장하기 위해서는 형변환이 필요한데 여러가지 방식으로 해결할 수 있다. 먼저 컬럼의 pasteCallback 속성에 콜백 함수를 지정할 수 있다. "이율" 컬럼에 아래처럼 설정했다.
col.setPasteCallback(function (row, field, text) {
var v = parseFloat(text);
return isNaN(v) ? 1.0 : v;
});
또는 그리드 수준에서 editOptions.pasteCallback을 지정할 수도 있다. 컬럼 pasteCallback이 지정된 경우는 무시된다.
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.pasteDatetimeFormats, pasteBooleanFormat, pasteNumberChars를 각각 아래 코드와 같이 지정했다.
grid.setEditOptions({
pasteDatetimeFormats: ['yyyy-MM-dd', 'yyyyMMdd'],
pasteBooleanFormat: "false,f:true,t:",
pasteNumberChars: "$w,abcd"
});
날짜 변환 형식은 하나 이상 지정할 수 있고, pasteNumberChars는 NUMBER 필드에서 문자열을 숫자로 변경할 수 있도록 원본 텍스트에서 제외할 문자들을 지정한다.