我有一个在更新面板上运行的计时器,其中Listview显示页面大小为1.计时器在循环浏览许多记录时递增数据寻呼机。
在Protected Sub timer_Tick Event中,我想从ListView页面读取一些值。有一个简单的方法吗?
数据当前通过SQLDataSource进行绑定,但这是暂时的,而其他页面开发正在进行中。因此,我不能依赖该数据集来获取所需的信息。
像......那样的东西。
val1 = listviewName.SelectedItems(0).SubItems(3).Text
val2 = listviewName.SelectedItems(0).SubItems(4).Text
一个问题是不会选择记录。 Listview正在显示ItemTemplate中的数据集。
<ItemTemplate>
<tr>
<td>Position C:</td>
<td><asp:Label ID="Label50" runat="server" Text='<%# Eval "Pos_C") %>' />
</td>
</tr>
<tr>
<td>Position D</td>
<td><asp:Label ID="Label51" runat="server" Text='<%# Eval("Pos_D") %>' />
</td>
</tr>
</ItemTemplate>
itemtemplate的缩写布局。
答案 0 :(得分:0)
对于任何有兴趣的人,我用以下代码解决了上述问题....
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
效果很好。