2009年6月30日火曜日

ExtJs-45 EditorGridPanelのコールバックって、ああそうか。

少しやるきになってきたのか、通勤途中の電車以外にも
家で隙間時間でコーディングをするように。

さて、実績を入力するのってダイアログ出したりするのは手順が増えるのでまどろっこしい。
ということでEditorGridPanelで。

毎度のことで、InitComponentで
リスナー登録。
this.addListener('afteredit', this.onAfterEdit, this, null );

で、リスナー作成
onAfterEdit : function( e ){
var data = e.record.get('ID');
//console.dir(e);
Ext.Ajax.request({
url: this._writeUrl,
success: this.onAfterEditSuccess.createDelegate( this ),
failure: this.onAfterEditFailure.createDelegate( this ),
params: {action:'update', ResultDate : App.TaskManagement.Result.daySelectCtrl.value, ResultId : taskId }
});
},
onAfterEditSuccess : function( response, options ){{
alert('onAfterEditSuccess');
//commitするのか?
},
onAfterEditFailure : function( response, options ){{
alert('onAfterEditFailure');
//rejectするのか?
},
ちょっと待てよ、commitするのもrejectするのもイベントオブジェクトが必要。
って、いままでの実装からSuccess、Filureを別めそっど定義してたから。
JavaScriptは関数スコープでしたね。
直接書いてやればよいのかね。

onAfterEdit : function( e ){
//console.dir(e);
Ext.Ajax.request({
url: this._writeUrl,
success: function( response, options ){{
      //サーバ登録OKなのでコミット。
e.commit;
      },
failure: function( response, options ){{
//サーバ処理NGなのでりじぇくと。
e.reject();
},
params: {action:'update', ResultDate : App.TaskManagement.Result.daySelectCtrl.value, ResultId : e.record.get('ID') }
});
},

これで動くかなぁ

あと、通信するときに
var connection =Ext.data.Connection();
connection.request({
param:....
},
.......
って本でやってたけど大きな違いはまだ見てない。
個人的には非同期だぜ。ってわかりやすく、Ajax云々って。。。

あれ?
しらべよっと。

2009年6月27日土曜日

久々のデスクトップPCでの開発

勉強会、WorkShopに参加したおかげで
やる気が起きて自宅での開発を。と。
しかしEeePCにDBつくってるもんだからこんな有様。
夜風に当ててないとEeePC熱持ってしまって
かわいそうなことに。

2009年6月26日金曜日

ExtJs-44 DataView

Extjs workshopに参加してきました。
ものすごーく、ずーっと参加したくて
ようやく半年ぶりに参加することができました。
途中からでしたが。

昨日の勉強会でスピーカだったDeginoの徳冨さんも
ご一緒でした。

今日はDataViewについて教えてもらいました。

ASP.NETで言うところこのItemTemplate≒XTemplate
であとのデータモデル部分の設定実装方法はDataGridと一緒。
っていう位置づけで聞いてました。
だからすんなり説明が入りました。
が、

XTemplate。
これがいままでどうもようわかっとらんかった。
画面を整形するのにそろそろ本腰入れてやるかと
思ってたところ、小堤さんがせつめいしてくれたので
目からうろこでした。ものすごくわかりやすく
ものすごーく欲しいいいところに情報が入ってくれました。

もっとはじめからしっておけばよかったな。。

で今日の書き込みはソース無しで。

あと
DataGridを複数並べてヘッダと内容がずれ込んだら
forcefitを疑うってことをまなんだ。


今日はここまで。

次の実装はしばらく先になりそうだから
この先の手順を忘れずに。
・実績の報告用Dlg作成
・実績の合計計算()
・実績の指定目アドへのメール送付
・ux.Flotを使用してのチャート。かExt3へあげてのチャート

2009年6月23日火曜日

ExtJs-43 コンテキスト

はて、Extの実装ネタはいつ振りの投稿でしょう。

自宅での実装はほとんどせず、会社帰りの電車でぽちぽち。と。
そんな具合だからいっこうにすすみません。
フラストレーションが少しづつたまりますね。。。

さて、今日はコンテキスト。
ようやくドラッグアンドドロップを実装し、
登録はできた。グリッドからこんてきすとで削除したいじゃないですか。

ということで。
・initComponentでリスナーを登録
this.addListener('rowcontextmenu', this.onRowContextMenu, this, null );

・リスナーの作成
onRowContextMenu : function( grid , rowIndex , e )
{
var record = grid.getStore().getAt(rowIndex);
var id = record.get('ID');
menu = new Ext.menu.Menu(
[
{
text: 'このタスクを予定から削除',
handler: function(){
grid.deletePlan( id );
}
}, {
text: 'この表全部のタスクを削除',
handler: function(){
alert('実装中!');
}
}]);
//システムコンテキスト解除
e.stopEvent();
menu.showAt(e.getPoint());
},
こんな感じで。

できたよー。さっくり。
ExtJsの小堤さんから勉強会、ワークショップで基礎を教わり、
こつこつ勉強会に参加して完全にJavaScript未経験者な私も
ほんの少し成長した感が。
うれしいですね。
もう少しで第一フェーズ終了かな。

Grid、DD、コンテキスト(メニュー)、ツリー、ポートレット、、、
あとは画面の整形をしたらプロトタイプは完了。
汎化作業へ。
汎化が終わればサーバサイドも汎化して。

いよいよシステムの自分向けツールの本格開発へ。

先がものすごーく長いね。
白石さんのZDNetで見たGoogleプラクティスを知ってから
何年たつんだろ。学習、よくつづくな。しかし。
そういえば本を購入させてもらいました。gearsの。
夢広げていただきました。


で、ながーい目で開発していこうと改めて認識。

2009年6月18日木曜日

Android-1 環境

さてただでさえ少ない20%リソースは
ExtJsだけにはとどまらずAndroidでも消化するって
ことで始まりました。

またもやオライリー本を購入。
はじめてアンドロイド。

「数独」作成を通してひととおりのことを教えてくれる。
読みやすい本でした。
夢広がったー。ってことで、
・本は買いました。

次に環境。
自宅のメインPC(DELLのやつ)にと。考えたけど
結局EeePCばかりつかっているのでそちらに作るようにした。

ネットブックが完全に開発マシンになったわけで。
ってDBサーバWEBサーバになってる時点でそうか。

・Javaを
・EclipseをGanymedeのJavaをせんたく
・AndroidSDKを

もちろん全部 Dドライブへ。
日本Androidの会(日本アンドロイドの会)
Top / 勉強会 / インストールガイド/インストールガイド
を元に実施しました。ありがとうございました。

風邪気味なので今日はここまで。

2009年6月16日火曜日

GDD2009で

勉強のためにGDDに参加。
そう、Andorid開発に浮気してみるテストをしようと。

本も買ってたし。

で、さんかしたら、

携帯クレタ。

すげー。うれしい。
いまつくっているつーると連動させてみるテストをしたかったから
なおさらうれしく。

でも時間がないね。

しかしソフトウェアキーボードには慣れない。

ExtJs-42 経過????

経過している。
時だけが。
 
なかなかうまくすすまず。
最近、夜更かしができなくなってきてぜんぜんやってないなぁ。
っというまに時間が。

予定用のグリッド複製して実績用のグリッドを作成した。

このツール、今となっては一日、二日でできるよな。たぶん。。
まとまった静かな時間が欲しい。
===============

アンドロイド携帯からてすと

オオー。
添付も。