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.[c.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.pasteDatatimeFormats、[c.EditOptions.pasteBooleanFormat]]、pasteNumberCharsを各下のコードのように指定した。 

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

日付の変換形式は一つ以上指定することができて、pasteNumberCharsはNUMBERフィールドで文字列を数字に変更できるよう 原本テキストで例外にする文字たちを指定する。 

Grid - 2
rows

ソースを見る 

See Also
GridBase.editOptions
GridStyles.datetimeFormat
GridStyles.numberFormat
GridStyles.booleanFormat
DataColumn.styles
ValueColumn.copyCallback
EditOptions.copyCallback
EditOptions.copyDatetimeFormat
EditOptions.copyNumberFormat
EditOptions.copyBooleanFormat