« Formの継承 | トップページ | v.2のupdate2 »

2009年3月12日 (木)

ListViewを使いこなす

とかって実はまだ全然使いこなせてないですが。テヘ

ListViewはDBGridと同じでqooxdooのテーブルを使ったコンポーネントです。
ということは、qooxdooを研究したら、いろいろ使いこなせそうな予感がして調べてみました。
しかしqooxdoo自体、まだ日本語ドキュメントが少なく涙目。

ちなみにqooxdooのテーブルはダブルクリックでセルが編集可能になる仕様なので、チェックボックスの動作がちょっとうざいです(つまり三回クリックしないとチェックボックスのオンオフができない)。


さて、以下いろいろやってみました。
PHPでは無理なので、javascriptです。

ListView(ListView1)はこんな感じに作りました。これはvcl/sampleのサンプルをみれば作成できます。
20090312_01

■データをセット
//Edit(edtData1とedtData2)に入力されたデータをセット
//下記の例ではチェックボックスはfalseで入れてます
var data1 = document.getElementById('edtData1').value;
var data2 = document.getElementById('edtData2').value;
var rowData = [];

rowData.push([data1,data2,false]);
ListView1.getTableModel().addRows(rowData);


■トータルの行数(RowCount)を取得してEdit1に入れる
document.getElementById('Edit1').value = ListView1.getTableModel().getRowCount();


■最初の行の一番左の値をEdit1に入れる
//セルの指定はgetValueの引数で渡します。
document.getElementById('Edit1').value = ListView1.getTableModel().getValue(0,0);


■現在フォーカスされている行の一番左のセルをEdit1に入れる
//OnSelectionChangedでやるといい感じです
//セルの指定はgetValueの一番目の引数で行います
document.getElementById('Edit1').value = ListView1.getTableModel().getValue(0, ListView1.getFocusedRow());


■現在フォーカスされている行番号を取得してEdi1に入れる
//OnSelectionChangedでやるといい感じです
document.getElementById('Edit1').value = ListView1.getFocusedRow();


■最後の行を削除
ListView1.getTableModel().removeRows(0, 1);

|

« Formの継承 | トップページ | v.2のupdate2 »

コメント

これは面倒ですなぁ

投稿: | 2009年4月10日 (金) 17時10分

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/70189/44321941

この記事へのトラックバック一覧です: ListViewを使いこなす:

« Formの継承 | トップページ | v.2のupdate2 »