使用vb.net收集带有复选框列表项的文本框文本

使用vb.net收集带有复选框列表项的文本框文本,vb.net,textbox,checkboxlist,Vb.net,Textbox,Checkboxlist,我正在使用vb.net构建一个任务管理系统。如何在每个复选框列表旁边设置一个文本框字段,这样当用户勾选复选框时,他也可以对此项目进行评论并提交整个完成的任务?下面是我的代码 Sub GetGroups() cblGroups.DataSource = Task.Components.Tasks.GetAllTasks cblGroups.DataTextField = "TaskName" cblGroups.DataValueField = "

我正在使用vb.net构建一个任务管理系统。如何在每个复选框列表旁边设置一个文本框字段,这样当用户勾选复选框时,他也可以对此项目进行评论并提交整个完成的任务?下面是我的代码

 Sub GetGroups()
        cblGroups.DataSource = Task.Components.Tasks.GetAllTasks
        cblGroups.DataTextField = "TaskName"
        cblGroups.DataValueField = "ID"
        cblGroups.DataBind()


    End Sub


  For Each item As ListItem In cblGroups.Items
            If item.Selected Then

'reading each item value

End if

接下来,我认为您应该使用DataGridView。在那里,您可以有一个复选框列和一个文本框列,还有一个新行占位符来放置新任务。如果您不喜欢DataGridView,可以使用

您的另一个选择是维护一个复选框控件及其文本框对的列表,基本上执行数据网格的工作。一开始您还可以,但接下来可能需要滚动等操作,因此为什么不使用内置控件,在这里这些问题已经得到了即时解决。

'检查每个项目
    'Check through each of the items
    For Each item As ListItem In cblGroups.Items
        'If this particular item is checked
        If item.Selected = True Then
            'Dynamically create a HTML Textbox
            item.Text = [String].Format("{0}<input id=""TextBox{0}"" name=""TextBox{0}"" / >", item.Text)
        Else
            'Otherwise simply store the normal value
            item.Text = [String].Format("{0}", item.Text)
        End If
    Next
将每个项目作为cblGroups.Items中的ListItem '如果选中此特定项目 如果item.Selected=True,则 '动态创建HTML文本框 item.Text=[String]。格式(“{0}”,item.Text) 其他的 '否则只需存储正常值 item.Text=[String]。格式(“{0}”,item.Text) 如果结束 下一个
问题是什么?我已经更新了帖子,谢谢你:
。Selected
SelectedItems
checkeeditems
不是一回事。如果您想处理选中的项目,请迭代
CheckedItems
checkedDices
集合。我更喜欢将其与我们的dridview一起使用,我们能否将文本框放在每个复选框项目旁边并读取文本的值?@Dan:您可以做任何事情-时间是唯一关心的问题。编写这个自制的数据网格超出范围,如果您有具体的实现问题,请询问具体的实现问题。您建议的内置控件是什么?@Dan:。尝试在ListItem的textfield中创建动态HTML TextBox