次の 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 に [保存] ボタンが表示されるようになりました。しかし、アイテムを読み取るためのすべての努力は失敗しました。たとえば、[保存] ボタンをクリックすると、次のようになります。
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 の [保存] ボタンは明らかにポストバックを作成しますが、その時点で AttachmentsRadListBox にアイテムが含まれていない理由がわかりません。