- - PR -
ASP.NET datagrid の EditItemTemplate内のobjectのプロパティをコントロールしたい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-13 11:06
datagrid の EditItemTemplate 内に
dropdownlist と textbox を置き 編集ボタンを押下されたら、dropdownlist にて 選択された内容により textbox を 表示したり 非表示にしたりしたいのですが http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16518&forum=7 のおかげで dropdownlist の selectedindexchanged のイベントまでは 取得できたのですが この、イベント内にて dropdownlist の selectedivalue の取得も textbox の プロパティの変更もできません DDL_Reason.SelectedItem.Text を 取得しようとするとオブジェクトが存在しませんという エラーになります DDL_Reason_SelectedIndexChanged のコーディングは下記の通りです ------------------------------------------------------------- Public Sub DDL_Reason_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DDL_Reason_event.SelectedIndexChanged dim f As System.Web.UI.WebControls.DataGridCommandEventArgs Dim line As DataGridItem = DataGrid1.Items(f.Item.ItemIndex) Dim DDL_Reason As DropDownList = CType(line.FindControl("DDL_Reason"), DropDownList) Dim txtbox As textbox = CType(line.FindControl("Txt_Reason"), textbox) if DDL_Reason.SelectedItem.Text = "○" then txtbox.visible = true else txtbox.visible = false end if End Sub --------------------------------------------------------------- private sub だと エラーになったため Public Sub を使用し datagrid の object を 触りたいがため 無理やり dim f As System.Web.UI.WebControls.DataGridCommandEventArgs を指定してみました が こんな姑息な手段がまずいのだろうと、想像しつつも SelectedIndexChangedイベント にて datagrid 内の オブジェクト を 触るには どうすればいいのか 教えていただけませんでしょうか | ||||||||
|
投稿日時: 2005-10-13 12:15
どうも、SE卵です。
| ||||||||
|
投稿日時: 2005-10-13 12:18
> Dim line As DataGridItem = DataGrid1.Items(f.Item.ItemIndex)
Dim line As DataGridItem = DataGrid1.Items(DataGrid1.EditItemIndex) | ||||||||
|
投稿日時: 2005-10-13 12:21
あと、補足
Protected で動作しますよ。
| ||||||||
|
投稿日時: 2005-10-13 13:34
SE卵さん todoさん ありがとうございました。 実現できました debug モード で sender が dropdownlist を 指していることは 解ったのですが キャストすればよかったんですねぇ parent も勉強します みなさん 本当にありがとうございました |
1