- PR -

[C#] DataGrid内のコントロールの表示について

1
投稿者投稿内容
Qoo
常連さん
会議室デビュー日: 2006/05/18
投稿数: 37
投稿日時: 2006-06-12 11:28
C#(ASP.NET)でWebアプリを開発しています。
Gridの右端にテンプレート列で行の削除ボタンを配置し、フッターには追加ボタンを
配置して追加したり削除したりできるようになったんですが、今度はGridのボタン列
である編集ボタン(更新とかキャンセルとか出てくるやつです)を押した時に削除ボタ
ンも現れるようにしようと思い、「テンプレート列の編集」でボタンのプロパティで
VisibleをFalseにして、

GridのEditCommandイベントで

e.Item.FindControl("Button1").Visible = true;

と書いたのですが、表示されませんでした。Grid内のボタンコントロールのプロパティ
にアクセスする方法が間違っているのでしょうか?
ご存知の方、ご教授ください。よろしくお願いします。
しょくぱん
常連さん
会議室デビュー日: 2006/05/31
投稿数: 31
投稿日時: 2006-06-12 17:19
こう書いたら、削除ボタン表示されましたよ(^o^)
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
  Button btn = (Button)e.Item.FindControl("Button1");
  if (btn != null) btn.Visible = true;
}
Qoo
常連さん
会議室デビュー日: 2006/05/18
投稿数: 37
投稿日時: 2006-06-13 09:53
しょくぱんさん、ありがとうございます。ご提示頂いたコードで
うまくいきました。
しょくぱんさんのコードと自分のコードで何が違うのか見てみたのですが
null判定以外はボタンオブジェクトに代入しているかしていないかだけでした。
代入してからVisibleプロパティをいじってやればうまくいったって事ですかね。

何にしてもDataGridは奥が深いです。まだまだ自分は初心者なので、色々とつま
づきますが、がんばってやっていきたいと思います。
1

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