- PR -

DataGridのボタン列(LinkButton)の値取得について

1
投稿者投稿内容
はな
常連さん
会議室デビュー日: 2002/12/19
投稿数: 28
投稿日時: 2003-12-09 13:59
いつもありがたく利用させていただいております。

表題の件、
DataGridで、選択のボタン列(LinkButton)を作成し、
データテキストフィールドにデータベースのある列を表示させています。
SelectedIndexChangedイベントで、選択列の値をすべて取得したいのですが、
ボタン列の値だけ取得できません。
過去ログ等参考にいろいろ試してみましたが、空にしかなりませんでした。
何か方法がございましたら、教えてください。

なお、試した主なコードは以下の通りです。
1) DataGrid1.SelectedItem.Cells[i].Text; // i:選択列ID
2) LinkButton LB = (LinkButton)DataGrid1.SelectedItem.Cells[i].Controls[0];
LB.Text;
3) DataGrid1.Items[j].Cells[i].Text; // j:選択行ID

(VS.NET 2003で、C#で作成しています。)
junya_s0
常連さん
会議室デビュー日: 2002/12/23
投稿数: 26
投稿日時: 2003-12-09 14:10
基本的に(2)で良いと思うのですが、Controls[0]がボタンである保証がないので、
コード:
LinkButton LB =(LinkButton)DataGrid1.SelectedItem.Cells[i].FindControl[ボタン名];

としたら取得できないでしょうか。
こちらでは試してないのでNGならごめんなさい。
はな
常連さん
会議室デビュー日: 2002/12/19
投稿数: 28
投稿日時: 2003-12-09 14:55
FindControlでボタン名を指定していましたが、取得できませんでした。

何か根本的な設定ミスなのでしょうか・・・。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2003-12-09 15:10
当方では
((LinkButton)DataGrid1.SelectedItem.Cells[i].Controls[0]).Text
で取得できました。

デバッグできるのならどこまで取れてるか
(DataGrid1.SelectedItem.Cells[i].Controls[0]はちゃんと取れてるか、など)
見てみると良いのかもしれません。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2003-12-09 15:20
Controls[0]で取得できなかったと判断してしまうより、Controlsコレクション全体をサーチする方が確実かもしれません。
はな
常連さん
会議室デビュー日: 2002/12/19
投稿数: 28
投稿日時: 2003-12-09 16:39
Controlsコレクション全体をサーチしてみました。
Controls[0]で取得できているので、どうしたものかと思ったのですが、
べるさんのコード記述で実行すると、取得できました。
ありがとうございました。

1

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