Arrays vb.net Datarepeater、Dataadapter、Dataset、SQL如何逐行分解并插入到repeater中

Arrays vb.net Datarepeater、Dataadapter、Dataset、SQL如何逐行分解并插入到repeater中,arrays,vb.net,fill,datarepeater,Arrays,Vb.net,Fill,Datarepeater,编辑的代码:以前的代码非常有效,但无法更改textbox.text属性或显示此循环添加的每个控件的属性 谢谢你的帮助 某潜艇 Dim EqLst As String = "" Try Dim con As New SqlConnection Dim myConString As String = getSQLString() Dim objcommand As SqlCommand = New SqlCommand

编辑的代码:以前的代码非常有效,但无法更改textbox.text属性或显示此循环添加的每个控件的属性

谢谢你的帮助

某潜艇

    Dim EqLst As String = ""

    Try

        Dim con As New SqlConnection
        Dim myConString As String = getSQLString()
        Dim objcommand As SqlCommand = New SqlCommand

        With objcommand
            .Connection = con
            Dim cmdText As String = "SELECT EquipList from SiteAuditor where client='" & GLClient & "' and market='" & GLMarket & "' and project='" & GLProject & "'"
            .CommandText = cmdText
        End With
        con.ConnectionString = myConString
        con.Open()

        Using readerObj As SqlClient.SqlDataReader = objcommand.ExecuteReader
            'This will loop through all returned records 
            While readerObj.Read

                EqLst = readerObj("EquipList").ToString

                Exit While
            End While
        End Using

        con.Close()

        Dim li As String() = EqLst.Split(",")
        Dim data As New List(Of dataitem)
        For Each name As String In li
            'Form1.DataRepeater1.AddNew()
            data.Add(New dataitem(name))
            Form1.DataRepeater1.CurrentItem.Controls("txtName").Text = name
        Next

        Form1.DataRepeater1.DataSource = data
我想这就是我需要了解如何在datarpeater控件中添加/更改我的textox名称的地方。有人能为我提供解决方案吗

        'For Each name As String In li
        '    Form1.DataRepeater1.CurrentItemIndex(i).text = name
        'Next


    Catch ex As Exception

        Dim thiserror As String = "Error grabDataRepeaterData, " & vbCrLf _
                    & "Email Notifying CLS-Software Developemnt about this error was sent."
        Dim additionalinfo As String = UserLogin & vbCrLf & UserLogin.Replace("CLSGROUP\", "") & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & ex.ToString
        MessageBox.Show(thiserror)
        ErrorEmails(thiserror, additionalinfo)

    End Try


    Return Nothing
端接头

Public Class dataitem
    Public Sub New(text As String)
        Me.text = text
    End Sub
    Public Property text As String
End Class

您没有在for each循环中声明数据类型。“name”之后需要“as string”

For Each name As String In li
        Form1.DataRepeater1.AddNew()
        Form1.DataRepeater1.CurrentItem.Controls("txtName").Text = name
Next

DataRepeater必须将其DataSource属性设置为AddNew才能工作。它被设计成数据绑定

可以将数据源设置为对象列表。然后,无论何时添加到列表中,dataRepeater都会自动显示新项目

例如:

Public Class dataitem
 Public Sub New(text As String)
  Me.text = text
 End Sub
 Public Property text As String
End Class

Public Class Form1
 Public Sub New()
  InitializeComponent()
  Dim data As New List(Of dataitem)
  data.Add(New dataitem("test1"))
  data.Add(New dataitem("test2"))
  DataRepeater1.DataSource = data
 End Sub
End Class

抱歉,虽然我知道你怎么会这么想,但这不是解决方案,我仍然得到“对象引用未设置为对象的实例。”错误。谢谢你的回复,但我很抱歉,你能给我一些代码示例吗非常感谢,简直太神奇了,就像我要求的那样添加它们-现在,如果你不介意我问为什么我不能在添加字段时设置字段的文本属性,或者在添加字段后必须在循环中执行这样的操作?我正在处理一些类似的问题..我只是将代码减少到最小。要绑定文本字段,需要向表单添加BindingSource控件。设置其数据源,添加项目数据源,选择dataitem类。然后将中继器的数据源设置为bindingSource。然后转到文本框属性,您应该能够选择文本字段作为文本绑定。希望能帮上忙。你不可能有密码吧?-*如果你不知道,再次感谢你*