我有以下 RadListBox:
<telerik:RadListBox ID="AttachmentsRadListBox" CheckBoxes ="true" runat="server" />
它位于 RadWindow 中,因此我通过以下代码填充它,该代码仅在 RadWidnow 变为可见时调用:
AttachmentsRadListBox.DataSource = AttachDT
AttachmentsRadListBox.DataTextField = "DocumentPath"
AttachmentsRadListBox.DataValueField = "DocumentID"
AttachmentsRadListBox.DataBind()
For Each item As RadListBoxItem In AttachmentsRadListBox.Items
item.Checked = True
Next
到目前为止一切顺利,填充了 RadListBox 并检查了所有项目。
现在,在关闭窗口之前按下 RadWindow 上有一个保存按钮,我试图读取 AttachmentsRadListBox 中的选中项目(因为用户可能已经更改了选中项目的状态)。但是阅读这些项目的所有努力都失败了,例如在“保存”按钮上单击我有以下内容:
Dim test As Integer = AttachmentsRadListBox.Items.Count // THIS IS ZERO
For Each item As RadListBoxItem In AttachmentsRadListBox.Items // THERE ARE NO ITEMS
If Not item.Checked Then
Dim DocumentIDToDelete As Integer = item.Value
End If
Next
为什么最后一段代码的行为不像我希望的那样?AttachmentsRadListBox 不再通过回发进行绑定。唯一有界的时间是 RadWindow 出现时。然后 RadWindow 上的 Save 按钮显然会创建一个回发,但我不明白为什么 AttachmentsRadListBox 那时不包含任何项目。