2009-09-25 6 views
4

ListView 컨트롤에서 마지막 항목의 스타일을 쉽게 지정하는 방법이 있습니까? 기본적으로 클래스를 추가해야합니다.ListView의 마지막 항목 스타일링

건배

+0

listview는 Windows 폼 컨트롤이 아닙니까? – rahul

+0

아이들의 숫자는 항상 같고 알려져 있습니까? –

답변

3

:last-child

pesudo 클래스가있다.

그러나 모든 브라우저에서 작동하지는 않습니다.

가장 좋은 방법은 css 클래스를 listview의 마지막 항목에 추가하고 스타일을 지정하는 것입니다. 당신이

0

피닉스의 대답은 정말 질문에 대답하지 않는 당신이

:last-child

선택기를 사용하여 jQuery를 사용할 수있는 경우

, 피닉스는 다른 CSS 클래스와 마지막 항목을 스타일링 제안, 그러나 어떤 항목이 마지막 항목인지 어떻게 알 수 있습니까? ListView에는 LastItemTemplate이 없습니다.

< % # Container.DisplayIndex %>를 사용하면 현재 목록에서 현재 위치를 알 수 있습니다. 컨트롤에 Items.Count를 사용하여 총계를 얻을 수 있지만이 두 가지를 결합하면 ASP.NET 기술을 약간 웃도는 이됩니다.

3

쉼표로 고객 이름 목록을 구분합니다. 마지막 고객 이름은 점으로 끝납니다.

/// <summary> 
/// Returns this object casted as a different type. 
/// </summary> 
/// <typeparam name="T">A type</typeparam> 
/// <param name="obj">An object</param> 
/// <returns>A boolean value.</returns> 
public static T As<T>(this object obj) where T : class 
{ 
    if (obj == null) return null; 

    return obj as T; 
} 
1

나는하여 ItemDataBound 목록보기 이벤트에서 이런 종류의 물건을 수행

고객 A, 고객 B, 고객 C.

<asp:ListView ID="lvCustomers" runat="server"> 
    <LayoutTemplate> 
    <div id="itemPlaceHolder" runat="server"></div> 
    </LayoutTemplate> 
    <ItemTemplate> 
    <%# Eval("CustomerName")<%# Container.DisplayIndex == (Container.BindingContainer.As<ListView>().DataSource.As<System.Collections.Generic.List<String>>().Count - 1) ? "." : ", " %> 
    </ItemTemplate> 
</asp:ListView> 

이것은 '로'확장 방법을 사용합니다. 그러나 그 목적을 위해 DataSource의 유형이 무엇인지 알아야합니다. 예를 들어

는 :

protected void LvFilters_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     ListViewDataItem item = e.Item as ListViewDataItem; 
     if(item.DataItemIndex == ((YourDataSourceType)lvFilters.DataSource).Count - 1) 
      e.Item.FindControl("Control's id here").Visible = false; // or whatever you wanna do about styling 
    } 
} 
3

나는 DataList에 코드에서 사용자 정의 데이터 클래스 빌드 뒤에 목록보기에 바인더 제본입니다

<%#(Container.DataItemIndex == dataList.Count - 1 ? "last" : "")%> 

로 일을 얻었다.

관련 문제