Reading data in a listview without a selection
我在更新面板上运行了一个计时器,其列表视图显示页面大小为 1。计时器在数据寻呼机循环通过许多记录时递增。
在受保护的 Sub timer_Tick 事件中,我想从 ListView 页面中读取一些值。有没有简单的方法可以做到这一点?
数据当前通过 SQLDataSource 绑定,但在其他页面开发正在进行时这是临时的。所以我不能依赖该数据集来获取所需的信息。
类似....
1 2 | val1 = listviewName.SelectedItems(0).SubItems(3).Text val2 = listviewName.SelectedItems(0).SubItems(4).Text |
一个问题是不会选择记录。 Listview 在 ItemTemplate 中显示数据集。
1 2 3 4 5 6 7 8 9 10 11 12 | <ItemTemplate> <tr> <td>Position C:</td> <td>' /> </td> </tr> <tr> <td>Position D</td> <td>' /> </td> </tr> </ItemTemplate> |
itemtemplate 的缩写布局。
对于任何感兴趣的人,我用下面的代码解决了上述问题....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Protected Sub ListView1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewItemEventArgs) Handles ListView1.ItemDataBound 'Get the item object. Dim dataItem As ListViewDataItem = CType(e.Item, ListViewDataItem) Dim item As ListViewItem = e.Item ' Get the Label control in the item. Dim myVal1Lbl As Label = CType(item.FindControl("Label50"), Label) Dim myVal2Lbl As Label = CType(item.FindControl("Label51"), Label) Dim myVal1 As String = myVal1Lbl.Text Dim myVal2 As String = myVal2Lbl.Text End Sub |
效果很好。