编辑代码:之前的代码很好但不能更改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
答案 0 :(得分:2)
DataRepeater必须为AddNew设置其DataSource属性才能工作。它被设计为数据绑定。
您可以将dataSource设置为对象列表。然后,无论何时添加到列表,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
答案 1 :(得分:0)
您没有为每个循环声明数据类型。在'name'之后你需要'as string'
For Each name As String In li
Form1.DataRepeater1.AddNew()
Form1.DataRepeater1.CurrentItem.Controls("txtName").Text = name
Next