Arrays vb.net Datarepeater、Dataadapter、Dataset、SQL如何逐行分解并插入到repeater中
编辑的代码:以前的代码非常有效,但无法更改textbox.text属性或显示此循环添加的每个控件的属性 谢谢你的帮助 某潜艇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
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。然后转到文本框属性,您应该能够选择文本字段作为文本绑定。希望能帮上忙。你不可能有密码吧?-*如果你不知道,再次感谢你*