こんにちは。
RecordGridを使って、複数セルのコピー&ペーストをしたいのですが、
Curl標準の機能だと、ペーストする際にコピーした行×列の貼付領域を選択しないといけませんよね?
たとえばエクセルのように、1セルだけ選択してペーストしたら複数セルペーストできるような機能は作りこまないと実現できないのでしょうか?
もう一点、コピーするのは1セルですが、複数セルをせんたくしてペーストすると、
選択したセル全てにコピー内容がコピーされるような機能はないのでしょうか?
よろしくお願いいたします。
セルを選択すれば、ペーストはその選択された範囲だけが、セルにフォーカスすれば、コピーしたブロックと同じ範囲になります。
一つのセルをコピーすれば、ペーストは一つのセルになるが、CommandであるRecordGridCopyとRecordGridPasteを敬称すればその行動が自由に変えられます。
RecordGridCopyとRecordGridPasteはOpen Controlsに入っていますので、そのコードをベースとすれば出来ると思います。
c-sさん
ありがとうございます!
>セルにフォーカスすれば、コピーしたブロックと同じ範囲になります。
セルにフォーカスしても、範囲がブロック単位になりません。
フォーカスした1つのセル内にコピー内容1行目が全て貼り付けられてしまいます。
もしかして「セルにフォーカス」の意味が違っているのでしょうか・・。
セルをクリックしてマウスカーソルが点滅している状態でペーストしています。
なにか設定等必要なのでしょうか?
すみません、不明に書いてしまいました。
edit-modeじゃない場合、ブロックでペースト出来るはずです。
例えばedit-on-focus? = falseに設定すれば、tabを押してそうなります。
edit-modeであれば、書いた様にその一つのセルにしかペースト出来ません。
理由は、RecordGridPasteCommandじゃなくて、一般のTextFieldのコピーCommandが発してしまいますから。
c-sさん
なるほどー!
たしかに、edit-on-focus?=falseでブロック単位でのペーストができました!
ただ、これだとフォーカスがきているかがわかりづらいですね・・。
でも、やりたいことができました。ありがとうございます!
ブロック単位でのペーストはできたのですが、貼り付けた後、フォーカスが1行目に戻ってしまいます。
フォーカスを戻したくないのですが、なにか良い方法はありませんか?
(09-29-2011, 07:26 PM)okm Wrote: [ -> ]ブロック単位でのペーストはできたのですが、貼り付けた後、フォーカスが1行目に戻ってしまいます。
フォーカスを戻したくないのですが、なにか良い方法はありませんか?
key-spec設定していない現象でしょう。
c-sさん
key-specの設定でできました!!
ありがとうございます!
またまた質問させていただきます。
RecordGridはedit-on-focus?=false の設定をしています。
1つのセルをCtrl+Cでコピーするとき、コピー対象セルを一度マウスでクリックしただけだとコピーされません。
再度クリックすることにより、背景色が青色になり、Ctrl+Cでセルの内容がコピーされていますが、
これを一度クリックするだけでコピーできるようにしたいです。
以前回答の中に出ていた「RecordGridCopy」を継承するしかないのでしょうか?
(10-03-2011, 02:15 PM)okm Wrote: [ -> ]またまた質問させていただきます。
RecordGridはedit-on-focus?=false の設定をしています。
1つのセルをCtrl+Cでコピーするとき、コピー対象セルを一度マウスでクリックしただけだとコピーされません。
再度クリックすることにより、背景色が青色になり、Ctrl+Cでセルの内容がコピーされていますが、
これを一度クリックするだけでコピーできるようにしたいです。
以前回答の中に出ていた「RecordGridCopy」を継承するしかないのでしょうか?
んん、バグ的ですね。
キーで移動すれば問題なさそうですが。