4

ListView コントロールの最後の項目をスタイルする簡単な方法はありますか? 基本的にクラスを追加する必要があります。

乾杯

4

5 に答える 5

4

顧客名のリストをコンマで区切ります。最後の顧客名はドットで終わります。

お客様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>

これは、拡張メソッド 'As' を使用します。

/// <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;
}
于 2009-12-18T10:19:41.557 に答える
3

私はそれを次のように機能させました

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

ここで、datalist はコード ビハインドで構築され、リストビューにバインドされたカスタム データ クラスです。

于 2012-10-03T20:09:34.223 に答える
3

がある

:最後の子

疑似クラス。

ただし、すべてのブラウザで機能するとは限りません。

最良の方法は、css クラスをリストビューの最後の項目に追加してスタイルを設定することです。

jQueryを使用できる場合は、

:最後の子

セレクタ

于 2009-09-25T07:02:59.140 に答える
0

phoenix's answer は実際には質問に答えていません.phoenixは最後のアイテムを別のCSSクラスでスタイリングすることを提案していますが、どのアイテムが最後のアイテムであるかをどのように知ることができますか? ListView には LastItemTemplate がありません。

<%# Container.DisplayIndex %> を使用して、現在のリスト内の位置を取得できます。Control で Items.Count を使用して合計を取得できますが、これら 2 つを組み合わせることは、私の ASP.NET スキルを少し超えています。

于 2009-10-23T14:54:58.020 に答える