none
ListViewコントロールの行に通し番号(行番号)を付けるには? RRS feed

  • 質問

  •  GridViewについては、下記のようなやりかたで、通し番号が付けられるのですが、
     ListViewの場合はどうすればいいのですか?

     [ASP.NET]GridViewコントロールの行に通し番号(行番号)を付けるには?[2.0、3.0、3.5、C#、VB]
     http://www.atmarkit.co.jp/fdotnet/dotnettips/819aspgridvwnum/aspgridvwnum.html

      ListViewでは、DataItemIndexがメンバーでない為、エラーとなります。
     エラー BC30456: 'DataItemIndex' は 'System.Web.UI.WebControls.ListViewItem' のメンバではありません。

      ListViewで行数を認識するメンバーはありますでしょうか?

     クラスとかメンバーとかを明確に理解しておらず、的外れな質問かもしれませんが、宜しくお願いします。

     具体的にやりたいことは、ListView構成がグリットでその左の列に行番号を作成したいです。




     
    2009年10月28日 16:44

回答

  • すみません。VBでした。

    CType(Container, ListViewDataItem).DataItemIndex + 1


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク salomon123 2009年10月29日 8:09
    2009年10月29日 7:44
    モデレータ

すべての返信

  • 試していませんが、ListViewDataItemにキャストすればDataItemIndexが使えるのではないかと思います。

    ((ListViewDataItem)Container).DataItemIndex
    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    2009年10月29日 0:46
    モデレータ

  • VBの知識がついていっておらず、キャストすればと言う事が良く分かっていません。

    下記のように入れ替えて使ってみたのですが、

    <%# Container.DataItemIndex + 1 %>
        ↓
    <%# ((ListViewDataItem)Container).DataItemIndex + 1 %>

    次のエラーがでました。

    ① 'ListViewDataItem' は型であるため、式として使用することはできません。
    ② ')'が不要です。


    申し訳ありませんが、宜しくお願い致します。

    2009年10月29日 7:33
  • すみません。VBでした。

    CType(Container, ListViewDataItem).DataItemIndex + 1


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク salomon123 2009年10月29日 8:09
    2009年10月29日 7:44
    モデレータ
  • ありがとうございます。

    良く分かっておらず、お手数をお掛けしました。
    2009年10月29日 8:09