2015年4月27日月曜日

raspberry pi 2 クロスコンパイルで一苦労

aufsを適用したカーネルにするために、クロスコンパイルをやってみるが、うまくいかない。
いろいろ原因を探ったところ、raspberry piの/bootディレクトリにあるカーネルは
kernel7.img
というファイルを使っていることが判明。
ネットでは、これがわからず、試行錯誤で分かった。
ちょっとしたことで、時間がかかってしまった。

raspberry pi 2でWOL

okiro.phpというWOLのWebソフトを便利に使わせてもらっている。
今回、新versionのraspberry Pi2にも入れてみた。
久々と言うことで、細かい設定を忘れている。
PEARを使っていることを忘れている。
 pear install Net_Ping
というコマンドで、インストールできて、無事動作するようになった。


2015年4月26日日曜日

HTML5 リッチテキストは便利だが

contentEditableの属性設定により、リッチテキストを扱えて便利だが、ひとつ問題が発生した。ワードの貼り付けがうまくいかないのである。通常のテキストボックスなら、単純なテキストが貼り付けられるから問題は起こらないが、ワードの場合、様々な書式も貼り付けされるため、データベースにうまく保存できず、エラーを起こしてしまう。
 なんとか、タグを消して、テキストとして保存するようにしてみた。ただし、改行だけは、消さないようにした。
 ただ、どうも統一性がとれておらず、応急処置的である。ここは、やはり、HTML5とワード文書等との連携も考慮に入れた仕様にしてほしいところである。

2015年4月4日土曜日

jqgridのeditoptionsでは、勝手にソートされてしまう

Jqgridを使って、各種データの設定がやりやすくはなっているが、ひとつ問題が出てきた。
ResultSet rs2= stmt2.executeQuery("SELECT * FROM shokuin"); 
....
 jQuery("#list").jqGrid({
        data: mydata,
        datatype: "local",
        colNames:['ID', 'グループ名', 'メンバー'],
        // 編集可能にするセルを editable:true にします。
        colModel:[
            {index:'num', name:'num', width:50 },
            {index:'name', name:'name', width:200, editable:true },
            {index:'member', name:'member', width:250,  editable:true ,edittype:'select' ,
            editoptions:{multiple:true,value:{
            <% int cou2=0;
            while(rs2.next()){ if(cou2==0) { %>
              <%=rs2.getString("id")%>:'<%=rs2.getString("name")%>'
<% } else { %>
,<%=rs2.getString("id")%>:'<%=rs2.getString("name")%>'
<% }
cou2=cou2+1; }
stmt2.close();
            %>
            }}},
        ],
.....
といった、具合に、グループのメンバーの登録に使ってきたが、rs2は、id順に勝手にソートされてしまうことに気づいた。ソートはidではなく、別に用意したsidという表示順を指定するための番号でソートしたいのだが、それができない。
 毎年、人の入れ替えで転入者にidが振られるが、そのidの順番で並べて表示するのでなく
sidで並べて表示したいと思い、SQL文にorder by sidを追加してが、だめなのである。
http://www.trirand.com/blog/?page_id=393/discussion/edittype-select-and-editoptions-value-default-sorting
ネットでは唯一上記のリンクに少しヒントらしきものはあったが、どうやら、dataUrlというものを指定して、別のサーブレットから指定した順序にソートしたものを読み出すとよいようだ。
そこで、editoptions以下の部分をこんなふうに書き換えたらなんとか、動作させることができた。
            editoptions:{value:"",multiple:true,dataUrl:'editoption'}
サーブレットのeditoptionは、<select>の要素を返すようにするとよいようだ。ただ、注意しなければならないのは、LFが入ってしまうので、これをreplaceAll("\\n","")などを使って、データベースに保存する前に削除する必要がある。なかなか、細かいところで、調整が必要である。もう少しスマートな方法がありそうだが。