【问题标题】:Reading data in a listview without a selection在没有选择的情况下读取列表视图中的数据
【发布时间】:2014-01-30 21:55:27
【问题描述】:

我有一个在更新面板上运行的计时器,其列表视图显示页面大小为 1。计时器在数据寻呼机循环通过许多记录时递增。

在受保护的 Sub timer_Tick 事件中,我想从 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 的缩写布局。

【问题讨论】:

  • 您是否只对选择项目感兴趣?
  • 不,该项目没有被选中,它是每个数据分页器的单个记录,我只需要记录中的两个字段。

标签: asp.net vb.net listview


【解决方案1】:

对于任何有兴趣的人,我用下面的代码解决了上述问题......

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

效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 2011-01-22
    • 2016-12-08
    • 1970-01-01
    • 2015-03-16
    相关资源
    最近更新 更多