- - PR -
DataListでのDropDownListの内容を取得したい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-14 22:46
ASP.NETで開発しております。
DataList内のDropDownListで選択された内容を、その行をクリックした段階で取得したいのですが、可能なのでしょうか。 また、クリックした際に背景色も変えたいと思ってます。 やり方教えてください。 | ||||
|
投稿日時: 2004-09-15 00:57
初めまして。すいません、ちょっと気になったので・・・。 少しは自分でやってみましょう。僕もここでは質問させてもらう方が多いのですが、特に最近は、自分でこうやってみたけどここが上手くいかないとか、そういう風に心がけてます。 前にASP.NETで開発しましたけど、『ASP.NETで開発するWEBアプリケーション』みたいな本を見ながら結構出来ちゃいます。 それと、DataList内の選択行のインデックスの取得の方法が分からないのか、それともDataList内のイベントの取り方が分からないのかどちらでしょう?同じ行のテンプレートの他の項目は取得出来るんですか? | ||||
|
投稿日時: 2004-09-15 08:02
ヒント: 1)DataListから行を選択するには、ItemTemplateに選択ボタン Button(Text="選択", CommandName="Select")を作成します。 2)選択ボタンクリック時のイベントは、 DataListのSelectedIndexChangedで取得します。 3)SelectedIndexChangedイベントでDropDownListから選択した値を取得します。 DropDownListのオブジェクトを取得するには、FindControlメソッドを使用します。 DataList1.SelectedItem.FindControl("DropDownList1") 4)DataListから選択した行の背景色を変えるには、 SelectedItemStyleを使用します。 | ||||
|
投稿日時: 2004-09-16 00:28
いろいろサイトで調べたり、本も1冊買ったのですが、行をクリックした時のイベントがどう書けば良いか分からなくて、ここに投稿しました。
今日、何冊か本を買って来たので、もう少し勉強してみます。 Accessさんのヒントも参考にさせてもらいます。ありがとうございました。 | ||||
|
投稿日時: 2004-09-18 19:01
とりあえず、選択ボタンのクリックでは無く、行の何処でもクリックされた時に背景色を変えたかったので、いろいろ調べたのですが、うまく行きません。
コードは下記の内容です。 '------------------------------------------------------------------------ Private Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound Dim itemType As ListItemType = e.Item.ItemType 'ページ、ヘッダー、フッターなら何もしない。 If ((itemType = ListItemType.Pager) Or _ (itemType = ListItemType.Header) Or _ (itemType = ListItemType.Footer)) Then Return Else lblPageCnt.Text = e.Item.ItemIndex '選択ボタンへの参照 Dim button As LinkButton = CType(e.Item.FindControl("LinkButton1"), LinkButton) e.Item.Attributes("onclick") = Page.GetPostBackClientHyperlink(button, "") End If End Sub '---------------------------------------------------------------------- LinkButton1のCommandName=selectにを指定し、SelectedItemTemplateで背景色を変えてます。 選択ボタンの参照がうまく行ってないと思われます。 よろしくお願いします。 | ||||
|
投稿日時: 2004-09-20 12:59
こんにちは。 これって何をされているのかちょっと分かりませんが、この記述ではなくて、ここのプロシージャ内に背景色を指定する処理を書けばいいだけではないんですか? |
1