방법: DataList 웹 서버 컨트롤에서 항목 선택 허용

Visual Studio 2010

업데이트: 2007년 11월

DataList 웹 서버 컨트롤의 개별 항목을 사용자가 선택할 수 있도록 지정할 수 있습니다. 대개 선택한 항목은 강조 표시됩니다. 선택된 항목에 대한 다른 정보를 표시할 수도 있습니다.

DataList 컨트롤의 항목을 사용자가 선택할 수 있도록 하려면

  1. SelectedItemTemplate을 만들어서 선택한 항목의 태그 및 컨트롤의 레이아웃을 정의합니다. 자세한 내용은 ASP.NET 웹 서버 컨트롤 템플릿을 참조하십시오.

  2. 컨트롤의 SelectedItemStyle 속성을 설정합니다. 자세한 내용은 ASP.NET 웹 서버 컨트롤 및 CSS 스타일을 참조하십시오.

  3. ItemTemplate(및 사용 중인 경우에는 AlternatingItemTemplate)에서 Button 또는 LinkButton 웹 서버 컨트롤을 추가합니다.

  4. 3단계에서 추가한 단추의 CommandName 속성을 select(대/소문자 구분)로 설정합니다.

  5. 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
표시: