2016-03-28 49 views
1

我有错误Property selecteditem is readonly当我动态创建一个单选按钮,列表如下:物业将selectedItem是只读的单选按钮列表

Dim DDL As New DropDownList 
Dim RBL As New RadioButtonList 
Dim CBL As New CheckBoxList 

DDL.ID = "DDL_" & SelectedCategory & "_" & SubAssy & "_" & ProductType 
RBL.ID = "RBL_" & SelectedCategory & "_" & SubAssy & "_" & ProductType 
CBL.ID = "CBL_" & SelectedCategory & "_" & SubAssy & "_" & ProductType 

If ProductType = "General" Or (CategorySelected = "KC 2.1 (retractor without webbing)" And ProductType = "KC2.1" Or ProductType = "Webbing") Or 
(CategorySelected = "KC 2.1 Seatbelt)" And ProductType = "KC2.1") Then 

    DDL.Visible = False 
    RBL.Visible = False 
    CBL.Visible = False 

    DDL.SelectedItem = True 
    RBL.SelectedItem = True 
    CBL.SelectedItem = True 

End If 

在这3行代码:

DDL.SelectedItem = True 
RBL.SelectedItem = True 
CBL.SelectedItem = True 

显示错误。我必须用RadioButtonList或DropDownList或CheckBoxList创建一个表,其中用户选择项目,但我希望某个按钮具有预选值并且不显示。当我阅读所有选中的按钮时,我都希望这一点。

+0

一个RadioButtonList是ASP.NET的,但你的问题被标记为“winforms”。你实际使用哪一个? –

+0

已被编辑,我想为vb.net表格 – Vladut

+0

'SelectedItem'是当前选中的_which_项目。您不能将其设置为布尔值。我建议你阅读文档:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.selecteditem(v=vs.110).aspx –

回答

1

您的问题是,在您尝试选择它们之前,您的control不可见。

改变这些以true

DDL.Visible = False 
RBL.Visible = False 
CBL.Visible = False 

最重要的是,你只能有一个内当时选择controlradio button,所以这是一种毫无意义的:

DDL.SelectedItem = True 
RBL.SelectedItem = True 
CBL.SelectedItem = True 

更新:

Dim DDL As New DropDownList 

以上不能被查

Dim RBL As New RadioButtonList 

我相信首先会检查

我才意识到,这个尝试创建这些controls。你不能检查,取消controls之前,你实际上add他们。这link可能会帮助你

+0

诺普,我改变了,但没有奏效。 – Vladut

+0

你的意思是你仍然在'DDL.SelectedItem = True'错误? – Claudius

+0

在某些控件中只有一个单选按钮时,它总是只读,因为它不能被取消选择。我认为你是错误地创建它们,或者你想用复选框代替。 – Claudius