2006年9月30日土曜日

データクラスなんだけど

よく見ている@ITでの掲示板の一つ。

RDBアプリケーションのためのパターン(http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33879&forum=7&9)

ORマッピングは汎用的な設計パターンな話題では外すべきかなぁ、と思っているんだよねぇ。これってリレーションというかエンティティをオブジェクトに変換する際の違いというか、そこら辺を吸収するための手段であって、設計パターンじゃないよなぁ・・・なんて。自分の理解が間違っている様な気もする。

かといって、今自分でやっている方式も全然ベストではないしねぇ。

2006年9月26日火曜日

ElTabbleちょっとだけ

ラッパークラス作成のため、イベント周りを調査してもらっていたり。
(ちょっと同僚と新人にそれぞれ別系統のイベント調査をお願いしてみた)

新人にはなんちゅーか、説明がうまく伝わらなかったので自分の方でアタリをつけてみたんだけど、DataGridViewやっていた後だからか、ElTabbleってイベント制御がちょっとヒ微妙な感じ。

別にダメって事じゃないけど、EnteredCellやらEnterEditやらセル周りのイベント発生させて置いて、その状態から別コントロールへフォーカスを移すと、LeaveEdit→LeaveとLeaveCell発生しないってのがなんというか変な感じ。

まぁ、触っていると「カレントセルが移動していない」のが判ったので、LeaveCellが発生していないのは理解できたんだけど・・・なんか納得いかないんだよねぇ。

いや、ダメじゃないんだけど。

2006年9月24日日曜日

EnterをTabに・・・

業務系のアプリで必ずと言っていいほど出てくるこの話。そのため、色々なサイトでこれに対するロジックが公表されているんだけど。

SelectNextControlメソッドでは対応できないケースの方が多いんだけど、それでもどうしてそういったサンプルが多いんだろう。理由も簡単で、DataGridViewやその他グリッドなコントロールが絡むとほぼ間違いなく、Enterで次のセルへ移動してほしい、という話もでるだろうから。

だから業務としてはProcessDialogKeyとかそのあたりのメソッドをオーバーライドするのが最もいいのだろうけど・・・利用するコントロールによっては、コントロール側で制御を行う必要があるんだよねぇ(DataGridViewもそう)。

Form側で統一したロジックにしようとすると、こういった問題がでるので各種コントロール側でキー制御を行う、というのが今のところ最もスマートな方法かもしれないね。

2006年9月21日木曜日

次なる強敵

DataGridViewは少しずつだけど対応が進んできた。でも次に控えているヤツがなにげに難しい・・・。

んーTabControlのイベントトラップをやろうとしたんだけど、こいつってIDEでイベントがでてこない。なんか嫌な雰囲気だなぁ、と思っていたらTabControlに関連するTabPage側で結構制御が必要な構造になっていたのねぇ・・・。

んー、まともにやろうとするとCodeDomあたりも研究しないといけなさそうで時間かかりそうだなぁ。

2006年9月16日土曜日

再々度DataGridView

今になってDataGridViewの仕様とぶつかる問題が発覚。うーん、今のところBindingSource関係はほとんど使わないようにしてきたんだけど、これがアダになったのかなぁ・・・という感じ。

問題の発端はActiveControlが変更された際に、イベントを発生させようとしていた事なんだよなぁ。この瞬間をトラップしようとすると、どうしても各コントロールのEnterとLeaveイベントを利用した制御になるんだよなぁ。ところが、DataGridViewは仕様上Enter関連とLeave関連のイベントでは色々と出来ないことが発生してしまう・・・。

んー、今のところ望みとなるのはGotFocus関連なんだが・・・。設定によっては、GotFocusは結構後になってからしか発生しないのが判っているから、非常に手詰まり。

もう一つ考えているのは、DataGridViewRowCollectionクラスあたりに手をいれて、EnterまたはLeaveイベントの最中はキューイングするだけにして・・・と考えたりもするんだけど、そこまでやらないとダメ?

2006年9月11日月曜日

製品版が到着

ようやっとVS2005Pro版とElTabbleの製品版が到着。

今の今までExpressEditionにて無償環境まっしぐらな開発を行っていたんだけどようやく普通に開発ができるのよ。普通にセットアップも作れるのよ(もしかしたらWix使うかも、と考えていたからなぁ・・・ClickOnceではちょっと面倒が多くて)

あー一番嬉しいと思うのは、「新しい項目の追加」で利用できる項目が一気に増えたことかな。これだけで結構嬉しい。

さて、ElTabbleをラップする共通クラス作らないとね。