ASP.NET中的Listview itemTemplate

时间:2010-12-28 16:05:27

标签: asp.net data-binding listview itemtemplate

我在查看ASP站点的listview时遇到了麻烦。我的数据如下:

所以我有一个包含统计列表的字典:

Dictionary<string, IList<Stats>>

Data example:   Key                Value
               Port1               List<Stats>: - int NumberOfSuspended
                                           |    - int NumberOfCompleted
                                           |------ string messagetype
               Port2               List<Stats>: -int numberOfSuspendes
                                           |    - int numberOfCompleted 
                                           |-----string messagetype

“stats”类包含几个变量(messagetype&amp; numberofsuspended)

所以我需要创建一个如下所示的视图列表:

<table>
 <tr><td>Port1</td></tr>
  <tr><td>Messagetype</td><td>numberofSuspended</td>

 <tr><td>Port2</td></tr>
  <tr><td>Messagetype</td><td>numberofSuspended</td>
  .......
 </table>

所以基本上:foreach List in Dictionary使用stats属性创建一行(并且字典的键是titlerow)

最终结果如下:

|----------------------------------------------
| PORT 1
|----------------------------------------------
|   MessageType1:   |   0/0 |   0/0
|----------------------------------------------
|   MessageType2:   |   0/0 |   0/0
|----------------------------------------------
|-----------------------------------------------
| PORT 2
|----------------------------------------------
|----------------------------------------------
|   MessageType1:   |   0/0 |   0/0
|----------------------------------------------
|   MessageType2:   |   0/0 |   0/0
|----------------------------------------------

任何人都可以帮我查看listview的itemTemplate吗? 我认为这有点棘手,因为我使用字典? 我使用DataBinding(Listview.Datasource = Dictionary&lt; ..&gt;)

谢谢

1 个答案:

答案 0 :(得分:0)

没有尝试过这个理论,但让我知道你的想法:

您是否可以尝试添加占位符控件,循环遍历每个键并在循环中应用标题,还可以使用相应键中的数据添加转发器?

For each sKey as String in MyDictionary.Keys
  plcMyHolder.Controls.Add(New LiteralControl("<h1>" & sKey & "</h1>"))
  Dim rpt As New Repeater
  rpt.DataSource = MyDictionary(sKey)
  rpt.DataBind
  plcMyHolder.Controls.Add(rpt)
Next