방법: DataList 웹 서버 컨트롤에서 항목 선택 허용
업데이트: 2007년 11월
DataList 웹 서버 컨트롤의 개별 항목을 사용자가 선택할 수 있도록 지정할 수 있습니다. 대개 선택한 항목은 강조 표시됩니다. 선택된 항목에 대한 다른 정보를 표시할 수도 있습니다.
DataList 컨트롤의 항목을 사용자가 선택할 수 있도록 하려면
SelectedItemTemplate을 만들어서 선택한 항목의 태그 및 컨트롤의 레이아웃을 정의합니다. 자세한 내용은 ASP.NET 웹 서버 컨트롤 템플릿을 참조하십시오.
컨트롤의 SelectedItemStyle 속성을 설정합니다. 자세한 내용은 ASP.NET 웹 서버 컨트롤 및 CSS 스타일을 참조하십시오.
ItemTemplate(및 사용 중인 경우에는 AlternatingItemTemplate)에서 Button 또는 LinkButton 웹 서버 컨트롤을 추가합니다.
3단계에서 추가한 단추의 CommandName 속성을 select(대/소문자 구분)로 설정합니다.
DataList 컨트롤의 SelectedIndexChanged 이벤트에 대한 이벤트 처리기를 만듭니다. 이벤트 처리기에서 컨트롤의 DataBind 메서드를 호출하여 컨트롤의 정보를 새로 고칩니다. 완성된 코드는 다음과 같습니다.
Protected Sub DataList1_SelectedIndexChanged(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles DataList1.SelectedIndexChanged DataList1.DataBind() End Sub
protected void DataList1_SelectedIndexChanged (object sender, System.EventArgs e) { DataList1.DataBind(); }
선택을 취소하기 위해 컨트롤의 SelectedIndex 속성을 -1로 설정합니다. SelectedItem 템플릿에 Button 웹 서버 컨트롤을 추가하고 CommandName 속성을 "unselect"로 설정하면 됩니다. 이 단추에서 Click 이벤트가 발생하면 그에 따라 DataGrid 컨트롤의 ItemCommand 이벤트도 발생합니다.
완성된 코드는 다음과 같습니다.
Protected Sub DataList1_ItemCommand(ByVal source As Object, _
ByVal e As DataListCommandEventArgs) _
Handles DataList1.ItemCommand
If e.CommandName = "unselect" Then
DataList1.SelectedIndex = -1
End If
DataList1.DataBind()
End Sub