【ASP.NET】経験あります。でもね・・・GridもDropDownListも使ったことないですから〜!

f:id:kisokoji:20170203183852j:plain

ASP.NETの経験者です

そう、私は確かにどこかの現場で「ASP.NET」を使った記憶がある。 が、こちらの現場なぜか求人が「VB.NET」だったような。

私は知らない間にVB.NETのWEBがASP.NETになってるのかと思ってしまったよ。

ただね・・・GridViewの経験はまるでないんだよ。DropDownListも

DropDownListが全くないとは言わない。けど、GridViewも初めてなんだから使い方が違う。

表示する時にDataBindしてあげたらいいんでしょ。的に甘く見てたら、意味がわからない。

大体、指示がExcelにイメージがあるけど、どのテーブルのどの項目とかは一切ない。

で、このページをサンプルにしてということ。

まぁとりあえず、コピペしてと新しいページを作成しましたよ。

でもね、思った通りにならないのですが、何で?状態。

画面側とVB側の連携が取れない?GridView内のIDが取れない?とかとか。。。

???

しかなかった今週でした。

仕様書のない世界

それよりも・・・仕様は?な世界ですよね。はい。で、確認に行ったら、 「◯◯さんに聞いて」とな。

だったら、「◯◯さんが指示してくれたら話が早くない?」と心の声。

だってね、伝言ゲームなわけじゃない。「△△さんに頼まれたのですけど、これってどうなるのですか?」って。そうすると○○さんは「え、△△さんに聞いてない?」ってことになるわけです。

でも、◯◯さん、ちゃんと△△さんにわかるように説明してます?ってこと。説明のレベルじゃないでしょ?

ってことで、訳の分からないことを言いつつも、とりあえず仕様書レベル的なものをいただけました。

その前段階でヘッダー部分しかない表を見てテーブルまで作った私もすごい。

前段階がひどすぎたので想定以外の部分もありましたが、大概合ってました。経験ってしておくものね。

作り込み

DropDownListはマスタ化してということで、テーブルにデータ化してくれたのでそれを読み込むことに。

とりあえず、GridViewからGetは出来るってことだったからね。それでも、サンプルにはDropDownListはあるけど、直書きだから全然参考にならない。

どうやってバインドするんだ?

まぁ他にもたくさんファイルだけはあるから検索・・・・

ソリューション内全部

なのに、同じところばかり行ったり来たりしてないか?

まぁいろんな方法があることがわかりましたよ。どれがいいのかどうかもわからず、シンプルな方法にたどり着くのに1日くらい。そこから新規登録までは対してかからなかったけど、いよいよ本題は検索だった。

検索ボタン押したらどうなるんだ?

ASP.NETのGridViewだと

Item Edit Footer

に分かれてるのね。ってことすら初体験よ。で、それぞれがどんな役割かも動かしながら適当にって感じで。

最初の空行のSQL文はフィールドだけ作りたいわけだからすんなり行ったけど、サンプルにしてが動かないじゃん。既存バグ(良く動いてるねレベル)見っけ!いらんわ。

Insertも型さえ合えばいいし、まずはキー以外入れてないからOK。

問題は検索したあとの表示。

結局、ドロップダウンリストが多いってことはキーだらけってことだから、バインドデータがどう持ってくるかなんだよね。

検索時にデータを突っ込むことだって可能だしって感じでひたすらCASE文を久しぶりに書いたわ。

よし、表示出来た。

じゃあ、修正ボタンをポチッとな。

修正モード

修正モードはさっきのEdit部分がメインになるわけね。なるほど。

でもさ、テキストボックスに値が入らないし(そうしてなかった)ドロップボックスのSelectedIndexが効いてなかったり(これが一番大変だった)ほんと苦労しました。

テキストボックスはまだすぐにわかったんだけど、ASPと変わらないからね。でも、ドロップボックスは?ASPだったら直前で「Selected」入れたらいくもん!ってことにはならなかったのですよ。

・・・

???

意味がわかりません。ASP.NETをネットで検索してもやり方が多すぎて自分がやってるものに当てはまるものを見つけるほうが大変で、また多々あるファイルを検索・・・。

でも、やっぱりない。

サンプルのページを動かす。

動かす。

動かす。

わかったかも。。。

そういうことね。

ってことでSQL文のCASE文を戻す作業ですよ。もう・・・じゃあ、表示はどうするの?

って、振り出しに戻るになるんだけど。

表示の時にもGetでキーを渡して名前を取得すればいいのか?ってことでそうしちゃったけど、本当にそうなのか?ま、動けばいい?

そんなこんなで1週間弱かけて検索、修正が終わりましたとさ。

これで肝は終わったんじゃないかと思っております。