- - PR -
LinkButtonの動的配列のイベントハンドラ
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-01-24 18:04
始めまして。早速質問させていただきます。
[開発環境] OS:Windows2000 言語:VB.NET .NET:var1.1 [実現したい処理] DBからデータを取得し、TABLEを生成 その一行ごとにLinkButtonを動的に生成 クリックされたLinkButtonの行のデータをSessionオブジェクトへ渡して次の画面へRedirect **ソース抜粋 Protected linkbutton() As System.Web.UI.WebControls.LinkButton 'フォームには貼り付けていません Private Sub function() ============= DB検索処理 ============= Redim linkbutton(検索データ.Count -1) ' DB検索処の後のTABLE生成 For rowNum = 0 To 検索データ.Count -1 ============ テーブルのカラムへデータを登録 ============ linkbutton(rowNum) = New LinkButton AddHandler linkbutton(rowNum).Click, AddressOf linkbutton_Click ' 行をテーブルへ登録 Next rowNum End Sub **ソース抜粋終り 上記のような流れの処理を書いています。 これだとPostBack時に破棄されてしまって (このあたりが私が未熟なため確実ではないのですが) linkbutton_Clickで捕まえられられないようです。 どうにかSessionオブジェクトへ上記のような[実現したい処理]で 渡す良いアイディアはないでしょうか。 DataGridだとPostBackしてもデータを参照できたことと、 値の受け渡しはSessionオブジェクトで行いたいという設計方針なので このような処理を試しています。 [実現したい処理]で無理なようであれば、 URLの後につなげて渡すような形で提案してみようと思います。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2005-01-24 19:50
テンプレート列でリンクボタンを貼り付け
(ItemTemplateに貼り付けておきます) もしくは選択のボタン列を追加します。 リンクボタンのテキストをデータと連結したい場合は ボタン列の場合は
テンプレート列の場合は
みたいに作っておきます。 それでItemCommandイベント使って
ここでは選択行のデータがeでとれるので e.item.cells[列番号].Controls[]とか ((TextBox)e.item.cells[列番号].FindControl(コンポーネント名)).Text とかいろいろ駆使してやってみてください 行のデータそのまま渡すのでもいいですし キー情報渡して向こうで取り直してもいいですかね | ||||||||||||
|
投稿日時: 2005-01-24 20:28
レスありがとうございます。
申し訳ありません!! 今回はDataGridは使用せず、 System.Web.UI.WebControls.Table で直接Cell、Rowの追加を行ってTableを作成しています。 (これをはっきりと書いておくべきでした) なぜWebControls.Tableを使うようになっているかというと 1.奇数行、偶数行で背景色を変える 2.特定条件のとき、セルのフォント色を赤に変える 3.セルの連結(縦) これらができそうにないからだということでした。 しかし、これを聞いてから少し調べてみたところできそうな記事を見つけ、現在テストコードを書いている途中です。 もしも上記3件が実現可能であればDataGridでそろえるということになるようですので、 引き続き System.Web.UI.WebControls.Tableを使った方法、 また、上記3件が可能/不可能だけでもアドバイスをいただければと思います。 PoHさん、サンプルコードまで載せていただき本当にありがとうございました。 | ||||||||||||
|
投稿日時: 2005-01-24 20:40
.NET Tipsの応用でいずれも可能かと。 | ||||||||||||
|
投稿日時: 2005-01-24 20:52
ここら辺を応用すれば可能かと。 http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html#i17 #もろかぶった [ メッセージ編集済み 編集者: まゆりん 編集日時 2005-01-24 20:53 ] | ||||||||||||
|
投稿日時: 2005-01-24 20:58
todoさん、こんばんわ。
今のところTableとDataGridへのデータのセットしかたの違いから調べているところです。 理解し次第、教えていただいたリンク先を参考に、DataGridを使ってのプログラミングをしてみようと思います。 できるということが確実になったので時間を節約できそうです。 どうもありがとうございました。 |
1