リスト コントロール内の選択項目がサーバーへのポスト間で変更された場合に発生します。
名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
Public Event SelectedIndexChanged As EventHandler
'使用
Dim instance As ListControl
Dim handler As EventHandler
AddHandler instance.SelectedIndexChanged, handler
public event EventHandler SelectedIndexChanged
public:
event EventHandler^ SelectedIndexChanged {
void add (EventHandler^ value);
void remove (EventHandler^ value);
}
/** @event */
public void add_SelectedIndexChanged (EventHandler value)
/** @event */
public void remove_SelectedIndexChanged (EventHandler value)
JScript では、このクラスで定義されているイベントを処理できます。ただし、独自のイベントは定義できません。
適用できません。
解説
リスト コントロール内の選択項目がサーバーへのポスト間で変更されたときに、SelectedIndexChanged イベントが発生します。
メモ : |
|---|
このイベントが正常に動作するためには、サーバーへのポスト間でリスト コントロールがいくつかの値を永続化する必要があります。リスト コントロールでビューステートが有効になっていることを確認してください。 |
イベント処理の詳細については、「イベントの利用」を参照してください。
| トピック | 場所 |
|---|---|
| 方法 : リスト Web サーバー コントロールでの変更に応答する | Visual Studio ASP .NET での Web アプリケーションの作成 |
| 方法 : リスト Web サーバー コントロールでの変更に応答する | Visual Studio ASP .NET での Web アプリケーションの作成 |
| 方法 : リスト Web サーバー コントロールでの変更に応答する | ASP .NET Web アプリケーションの作成 |
使用例
SelectedIndexChanged イベントのハンドラを指定およびコーディングして、ユーザーの選択を表示する方法を次の例に示します。
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="vb" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = DateTime.Now
If (i Mod 2) <> 0 Then
dr(3) = True
Else
dr(3) = False
End If
dr(4) = 1.23 *(i + 1)
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
Return dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
RadioButtonList1.DataSource = CreateDataSource()
RadioButtonList1.DataTextField = "StringValue"
RadioButtonList1.DataValueField = "CurrencyValue"
RadioButtonList1.DataBind()
End If
End Sub
Sub Index_Changed(sender As Object, e As EventArgs)
Label1.Text = "You selected " & RadioButtonList1.SelectedItem.Text & _
" with a value of : " & RadioButtonList1.SelectedItem.Value & "."
End Sub
</script>
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br />
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="c#" runat="server">
ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++) {
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now;
dr[3] = (i % 2 != 0) ? true : false;
dr[4] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e) {
if (!IsPostBack) {
RadioButtonList1.DataSource = CreateDataSource();
RadioButtonList1.DataTextField="StringValue";
RadioButtonList1.DataValueField="CurrencyValue";
RadioButtonList1.DataBind();
}
}
void Index_Changed(Object sender, EventArgs e) {
Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text +
" with a value of $" + RadioButtonList1.SelectedItem.Value +
".";
}
</script>
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br />
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="jscript" runat="server">
function CreateDataSource() : ICollection{
var dt : DataTable = new DataTable()
var dr : DataRow
dt.Columns.Add(new DataColumn("IntegerValue", System.Int32))
dt.Columns.Add(new DataColumn("StringValue", System.String))
dt.Columns.Add(new DataColumn("DateTimeValue", System.DateTime))
dt.Columns.Add(new DataColumn("BoolValue", System.Boolean))
dt.Columns.Add(new DataColumn("CurrencyValue", System.Double))
var i : int
for( i = 0; i < 9; i++){
dr = dt.NewRow()
dr("IntegerValue") = i
dr("StringValue") = "Item " + i.ToString()
dr("DateTimeValue") = DateTime.Now
dr("BoolValue") = ((i % 2) != 0) ? true : false
dr("CurrencyValue") = 1.23 *(i + 1)
dt.Rows.Add(dr)
}
var dv : DataView = new DataView(dt)
return dv
}
function Page_Load(sender : Object, e : EventArgs){
if(!IsPostBack){
RadioButtonList1.DataSource = CreateDataSource()
RadioButtonList1.DataTextField = "StringValue"
RadioButtonList1.DataValueField = "CurrencyValue"
RadioButtonList1.DataBind()
}
}
function Index_Changed(sender : Object, e : EventArgs){
Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text
+ " with a value of : " + RadioButtonList1.SelectedItem.Value + "."
}
</script>
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1"
OnSelectedIndexChanged="Index_Changed"
AutoPostBack="true"
runat="server"/>
<br />
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
プラットフォーム
Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 3.0,2.0,1.1,1.0
参照
関連項目
ListControl クラス
ListControl メンバ
System.Web.UI.WebControls 名前空間
OnSelectedIndexChanged
メモ :