【发布时间】:2015-07-06 21:35:22
【问题描述】:
我试图在列表视图的每一行前面显示复选框。因此,在选择所需的复选框后,用户单击删除按钮,我们应该删除该记录。
但是怎么做呢?
【问题讨论】:
我试图在列表视图的每一行前面显示复选框。因此,在选择所需的复选框后,用户单击删除按钮,我们应该删除该记录。
但是怎么做呢?
【问题讨论】:
在标记中添加复选框
<asp:CheckBox ID="ChkSelect" runat="server" />
后面的代码如下:
Dim ChkSelect As CheckBox = Nothing
Dim ListItem As ListViewDataItem = Nothing
Dim ItemList As List(Of Person) = New List(Of Person)
Dim Item As Person= Nothing
For Each ListItem In MyDataList.Items
ChkSelect = ListItem.FindControl("ChkSelect")
If ChkSelect.Checked Then
Dim UIN As Integer = _
MyDataList.DataKeys(ListItem.DisplayIndex).Value.ToString()
Item = Persons.GetData(UIN)
Item.Deleted = True
ItemList.Add(Item)
End If
Next
Data = Persons.UpdateBulk(ItemList)
If Data = True Then
BindMyData()
End If
【讨论】:
您需要为ListView中的项目创建一个模板,将复选框放入其中,然后在单击删除按钮时获取所有已选中的项目。您可以在客户端或服务器上跟踪所选项目,但始终需要一些工作来持久化它们。
这是一篇关于在 ListView 中使用模板的文章: http://msdn.microsoft.com/en-us/library/bb398790.aspx#CreatingTemplatesForTheListViewControl
【讨论】:
如果我想在 GridView 中执行此操作,我会使用 GridView 模板...尝试查看是否有 ListView 模板(如果有)。
【讨论】: