- PR -

ASP.NET datagridのedititemtemplate内でボタンイベントを起こせませんか?

1
投稿者投稿内容
大ベテラン
会議室デビュー日: 2003/09/16
投稿数: 193
お住まい・勤務地: 千葉県
投稿日時: 2004-03-18 11:03
いつもお世話になりっぱなしの 七です

過去スレを探したつもりなのですが、見当たらず、書き込み致しました

edititemtemplate に imagebotton を置いて、そのクリックイベントにて
window.open にて、新しく画面を表示して、その画面より値を取得しようなんて
事は出来ませんでしょうか?

出来るだけ、dropdownlist 等で対応を取っているのですが
当面、困っているのが、 日付入力欄にて
textbox にて、日付を手入力 と カレンダから日付選択の
両方を可能にしなくてはならないので、困っています。

過去スレの中の情報の、応用をすれば可能そうな気はするのですが
まだ、まだ、勉強不足か、応用が利きません 
すみません お知恵を拝借願います

−−−−−−−−−−−− 以下 戯言です−−−−−−−−−−
ASP.NET を始めて、はや3ヶ月が過ぎようとしてますが
迷路の中を、壁伝いに、よろけながら歩いてます。
なんか、両手をもぎ取られているような感覚さえしてくる、今日この頃です。
納期だけは、直実に近づいているというのにーーー
かなり、弱気になってきた、今日この頃です 
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2004-03-18 11:26
おおざっぱで申し訳ありませんがItemDataBoundイベントでボタンのクリックイベントに
動作させたいJAVAスクリプトを設定すればよろしいではないでしょうか?

コード:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
	// 行のタイプが「編集行」の場合
	if( e.Item.ItemType == ListItemType.EditItem )
	{
		// 指定されたセル(この場合3列目)からボタンを検索
		// (GetButtonは自前のメソッド)
		HtmlInputButton button = GetButton( e.Cells[2].Controls );
		// 指定されたセル(この場合3列目)からボタンを結果を入れるTextBoxを取得
		// (GetTextBoxは自前のメソッド)
		TextBox textBox = GetTextBox( e.Cells[2].Controls );
		// ボタンとTEXTBOXが見つかった場合、クリックイベントにJAVAスクリプトを設定
		// (OpenMyWindowは自前の関数)
		if( button != null && textBox !=null )
		{
			button.Attributes["onclick"] = "OpenMyWindow(" + textBox.ClientID + ")";
		}
	}
}


大ベテラン
会議室デビュー日: 2003/09/16
投稿数: 193
お住まい・勤務地: 千葉県
投稿日時: 2004-03-18 14:13
ゆうじゅんさん ありがとうございました。

 imagebottun を検索しなくてはいけない所、bottun を検索してしまって
 (アホなミス)で手間取り、報告が遅くなってしまいました
 すみません。

引用:

ゆうじゅんさんの書き込み (2004-03-18 11:26) より:
おおざっぱで申し訳ありませんがItemDataBoundイベントでボタンのクリックイベントに
動作させたいJAVAスクリプトを設定すればよろしいではないでしょうか?




VB.NET にて
  ItemDataBoundイベントに下記コードでうまくいきました

コード:
      If e.Item.ItemType = ListItemType.EditItem Then
 		// (GetControlは自前のメソッド)
           Dim btn_c As ImageButton = GetControl(e.Item.Cells(3), GetType(ImageButton))
            略
            btn_c.Attributes.Add("onclick", "window.open(....)")
       End If
 



ありがとうございました
お蔭様で、Attributes.Add 消化する事ができました。


1

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