PDA

View Full Version : Gridデータのコピー・貼り付け



tomoya
9 Mar 2009, 4:23 AM
EditorGridPanelで
①セルを選択&コピー
②Excelデータなどのデータをセルに貼り付け
を考えています。(Clipboard経由)

実現方法がありましたら教えてください。
宜しくお願いします。

yuki
10 Mar 2009, 6:06 AM
EditorGridPanelで
①セルを選択&コピー
②Excelデータなどのデータをセルに貼り付け
を考えています。(Clipboard経由)


EditorGridPanelでは標準的には表計算的なコピー&貼り付けはサポートされていません。
ただ、やはり需要は多いみたいで、フォーラムを検索するとかなりのスレッドが見つかります。

①についてはいろいろな方法が考えれますが、HTMLのTABLEタグの中身をマウスで選択してコピーするような操作を実現するには、下記スレッドの中の#17にCondorが書いている方法が現実的でしょうか?

Text Selections in Grid cell (http://extjs.com/forum/showthread.php?t=22218)

他には、何かボタンを押すとStoreの中のRecordをタブ区切り&改行文字を加えた文字列をTextareaか何かに出力するというやり方もありますが、ちょっと面倒くさいですね。

②については①よりも面倒だったりしますが、一番確実なのは、↑の方法の逆でTextareaに一旦貼り付けてから、その文字列を解析してGridのStoreに入れ込むやり方です。ただ、やはり直感的ではないですね。

なので、試しにEditorGridPanelに直接貼り付けを行うサンプルを作ってみました:):

Ext.ux.SpreadsheetGridPanelサンプル
(http://extjssamples-jp.googlecode.com/svn/trunk/grid/spreadsheetgridpanel.html)

中々いい感じに動くものができたのですが、、、

Chromeだとうまく動作しません
OSXのFF3だとサクッと動くのですが、なぜかWinXPのFF3だと遅いです


ただ、そもそもGridPanel自体がかなり重たいコンポーネントなので、表計算的に使うには向いていないと思います(ちょっと列や行を増やしただけで相当モッサリとしてきます)。なので、表計算的なものが必要なのであれば全く別のクラスを作るほうがいいのではないかなと:-?

(Google Spreadsheetではコピペ可能なので、実現は可能だとは思いますが)

yuki
12 Mar 2009, 4:08 AM
上のサンプルがOSXで動いてなかったので修正しました:)

tomoya
14 Mar 2009, 6:37 PM
yukiさん、返信&サンプル提供ありがとうございます!
検討してみます:-?