- PR -

【C#】テンプレート列に埋め込んだコントロールのイベント発生行数取得方法

投稿者投稿内容
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-11-14 16:44
んー行番号をどうしても使いたいなら、先ほど述べたように行番号列を
作れば解決できるとおもうのですが、ここからはあくまで私自身の意見
ですが、

コード:
DataGrid.Item[行番号].Cell[列番号].Text 



この書き方は、メンテナンスを考えた時にあまり良くない書き方だと
思っています。列番号なんて一つフィールドが増えたらすべて書き直
さなきゃいけなくなる。面倒だと思いません?

それよりあらかじめコントロール化しておけば、FindControl("ID")
だから、書き直す必要はない。新しく追加になった列のみを考えてコ
ーディングすればよい(言い切りはまずいかな。。。)。人それぞれだ
と思いますが、私はコントロール化する事を進めます。

引用:

値を取得する場所は全てラベルか何かのコントロールにしてFindControlで探す?のでしょうか?



MSDNでFindControlを見れば分かるのでは?また、ネットにもいろいろと転がっていますよ。


村長
ベテラン
会議室デビュー日: 2005/04/20
投稿数: 67
投稿日時: 2005-11-14 18:29
引用:

コード:
DataGrid.Item[行番号].Cell[列番号].Text 



この書き方は、メンテナンスを考えた時にあまり良くない書き方だと
思っています。列番号なんて一つフィールドが増えたらすべて書き直
さなきゃいけなくなる。面倒だと思いません?

それよりあらかじめコントロール化しておけば、FindControl("ID")
だから、書き直す必要はない。新しく追加になった列のみを考えてコ
ーディングすればよい(言い切りはまずいかな。。。)。人それぞれだ
と思いますが、私はコントロール化する事を進めます。




説明上、Cell[列番号].Text と書きましたが本当は列名を書いてます。
私は画面にコントロールを多く貼り付けすぎると画面が重くなる(と思ってる)ので、
あまりコントロールを使わないように心がけてます。
ただ、今回はSE卵さんの言われるとおりコントロール化したほうがコントロールしやすいので必要な項目は全てコントロールに変更しようと思います。

最後までお付き合いして頂き、ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)