松本 (2011年12月20日 14:24) システム開発事業部
前回に引き続き、JavaScriptで作った簡易スプレッドシートのサンプルを紹介します。
前回は、矢印でのセル移動と、 最終行で「↓」キー押下で、行を追加する処理を実装したサンプルでしたが、 今回は、「セルを選択する」機能を紹介します。
この機能のコンセプトは、「Excelライクな操作感」です。 というわけで、完全にExcelと同じ!とは言えませんが、以下の仕様で作成しました。
------------------------------------------------------------------------------------ <セル選択機能の仕様> 1) F12キー押下/またはマウスダブルクリックで、セルを選択 (テキストボックスの背景色を黄色にします)
2) Enterキー押下で、セルの選択解除
3) セルの選択中は、矢印キー押下でセルの移動ではなく、 テキストボックス内の文字列のカーソル位置移動
4) 選択していないセルにフォーカスが当たった場合、 テキストボックス内の文字列を全選択
5) セル選択した際、テキストボックス内の文字列の最後にカーソルを移動 ------------------------------------------------------------------------------------
4) については、既に前回のHTMLに記載済みですが、 テキストボックスにフォーカスがあたったときに、値をselectするよう以下のコードを書くだけです。
onFocus="this.select();"
5) については、createTextRangeを使います。
// 文字列の長さを取得 // ※obj は、テキストボックスです。 var iLastLen = parseInt(obj.value.length); var range = obj.createTextRange(); obj.focus(); // 最後の位置へ移動 range.move('character', iLastLen);
やはり、自分で色々とコードを書くと勉強になりますので、 特にJavaScriptを勉強し始めたい方、このサンプルを改造して色々と試してみてください。
今回のサンプルは、こちらから一括でダウンロード可能です。
※前回のサンプルの機能+セル選択機能追加版です。 ※SpreadSample.htmlファイルを、IEで起動してください。 ※Zipファイルです。 ※このサンプルは、IEでしか動作確認をしていません。 キーイベントを取得して制御しているので、 他のブラウザだと動作しない可能性がありますので、ご注意下さい。
JavaScriptで簡易スプレッドシート サンプル紹介 その2
松本 (2011年12月20日 14:24)
システム開発事業部
前回に引き続き、JavaScriptで作った簡易スプレッドシートのサンプルを紹介します。
前回は、矢印でのセル移動と、
最終行で「↓」キー押下で、行を追加する処理を実装したサンプルでしたが、
今回は、「セルを選択する」機能を紹介します。
この機能のコンセプトは、「Excelライクな操作感」です。
というわけで、完全にExcelと同じ!とは言えませんが、以下の仕様で作成しました。
------------------------------------------------------------------------------------
<セル選択機能の仕様>
1) F12キー押下/またはマウスダブルクリックで、セルを選択
(テキストボックスの背景色を黄色にします)
2) Enterキー押下で、セルの選択解除
3) セルの選択中は、矢印キー押下でセルの移動ではなく、
テキストボックス内の文字列のカーソル位置移動
4) 選択していないセルにフォーカスが当たった場合、
テキストボックス内の文字列を全選択
5) セル選択した際、テキストボックス内の文字列の最後にカーソルを移動
------------------------------------------------------------------------------------
4) については、既に前回のHTMLに記載済みですが、
テキストボックスにフォーカスがあたったときに、値をselectするよう以下のコードを書くだけです。
5) については、createTextRangeを使います。
// 文字列の長さを取得 // ※obj は、テキストボックスです。 var iLastLen = parseInt(obj.value.length); var range = obj.createTextRange(); obj.focus(); // 最後の位置へ移動 range.move('character', iLastLen);やはり、自分で色々とコードを書くと勉強になりますので、
特にJavaScriptを勉強し始めたい方、このサンプルを改造して色々と試してみてください。
今回のサンプルは、こちらから一括でダウンロード可能です。
※前回のサンプルの機能+セル選択機能追加版です。
※SpreadSample.htmlファイルを、IEで起動してください。
※Zipファイルです。
※このサンプルは、IEでしか動作確認をしていません。
キーイベントを取得して制御しているので、
他のブラウザだと動作しない可能性がありますので、ご注意下さい。