指定された要素をコピーする

指定された要素を選択して、コピーを実行する。
IE、Edge、Chromeで確認。

function selectAndCopy(obj){

  if(obj instanceof jQuery){
    obj = obj[0];
  }

  if(document.body.createTextRange){
    // IEの場合
    var range = document.body.createTextRange();
    range.moveToElementText(obj);
    range.select();
  } else {
    var range = document.createRange();
    range.selectNodeContents(obj);
    var selection = window.getSelection();
    selection.removeAllRanges();
    selection.addRange(range);
  }
  document.execCommand('copy');
}

なぜかtable要素を指定すると、IEで「800a025e」のエラーが出るので、
div要素で囲むように。

jqgridのセル編集でキーを指定する

jqgridのセル編集では、デフォルトでrowidが送信される。
このままではサーバー側でデータが特定できないので、キーを指定したい。

$("#report").jqGrid({
data: mydata,
cellsubmit: 'remote',
cellurl: 'ajax.php',
height: 600,
rowNum: 1000,
colNames:['ID','Name'....],
colModel:[
{name:'ID',classes:'ID', hidden:true, frozen:true, key:true},
{name:'Name',classes:'Kikaku', width:100, editable:true, editoptions:{maxlength:20}},
...

key:trueを設定することで、IDとしてその項目の値が送られるようになる。

セルに余白を付ける

Excelって、セルに余白(Padding)を付けれないのが何気に不便です。
Excelをそのように使うのがそもそも間違いなんだろうけど・・)


そこで上下に余白を付けるマクロ。
行の高さを自動調整して、余白を足しています。
セル内の上下位置は真ん中指定で。

Sub 行高さ調整()
    Dim selected As Range
    Dim padding As Integer
    
    padding = 5
    
    '選択範囲のチェック
    If TypeName(Selection) <> "Range" Then
        MsgBox "調整したいセルを選択してください"
        Exit Sub
    End If

    '選択範囲を自動調整する
    Selection.EntireRow.AutoFit
        
    For Each selected In Selection.Rows
            '余白を増やす
        selected.RowHeight = selected.RowHeight + padding * 2
    Next selected
    
End Sub

SAStrutsでIllegalPropertyRuntimeException

SAStrutsでFormサブミット時に、IllegalPropertyRuntimeExceptionが発生した。

ちょっと前のログには、
例外が発生しました。理由はorg.seasar.framework.exception.SessionObjectNotSerializableRuntimeException: [ESSR0100]HTTPセッションに設定するクラスはシリアライズ可能でなくてはなりません。
とでてたので、どうやらActionFormでValidateするために、DAOをActionFormのメンバに置いていたのが原因らしい。

DAOをシリアライズ可能にするのもおかしいので、とりあえずvalidateメソッドの中で直接コンテナから取り出すことにした。

    public ActionMessages validate() {

        UserDao userDao = SingletonS2Container.getComponent(UserDao.class);

正しいのかは分からないけどとりあえず解決。

HTC EVO WiMAX3D ISW12HTをUSBデバッグする

auのHTC EVO WiMAX 3D ISW12HTが手に入ったので、デバッグ接続方法。

HTCの公式サイトからHTC Syncをダウンロードする。
http://www.htc.com/jp/help/htc-evo-3d/

HTC Syncのインストーラーを起動すると、インストールには色々と必要なのでインストールしますか?
と聞いてくる。
その中にUSBドライバがあるので、インストール。

HTC Syncがいらなければ、ここでキャンセル。


Eclipseからデバッグ起動すると無事デバッグできました。

HTC Desire HD 001HTをSIMなしwifi運用する

ソフトバンクを解約したので、機種だけが残ってしまいました。

開発用に久しぶりに電源を入れてみると、サービス提供不可の画面が・・。

ロックを解除しても緊急発信画面から他にいけない。



しかしネットで調べてみると、機内モードにすれば使えるとのこと。
電源ボタンを長押しして、機内モードに変更。

無事、ホームに入れました。
あとは設定からwifiをONにすればwifi運用OK。


ちなみにSIMを抜いた状態でも、同じ手順でwifi運用できました。