1

我在获取 ASP 站点的列表视图时遇到了麻烦。我的数据如下:

所以我有一本包含统计信息列表的字典:

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 & 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列表用统计属性排成一行(字典的键是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
|----------------------------------------------

任何人都可以帮我处理列表视图的 itemTemplate 吗?我认为这有点棘手,因为我使用字典?我使用 DataBinding (Listview.Datasource = Dictionary<..>)

谢谢

4

1 回答 1

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
于 2010-12-28T16:22:11.193 回答