I have the following code which within I am trying to get the selected items into an arraylist which I then put into an email.
My code is adding items to the arraylist however, if more than 1 item is selected, then it duplicates the record with the first ID. so if i select row 3, row 4, row 5 then my output is:
row3, row3, row4, row5
Any ideas please
My code is adding items to the arraylist however, if more than 1 item is selected, then it duplicates the record with the first ID. so if i select row 3, row 4, row 5 then my output is:
row3, row3, row4, row5
Any ideas please
Protected Sub btnRequestFiles_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRequestFiles.Click
If RequestFiles.SelectedItems.Count = 0 Then
lblNoFilesSelected.Text = "No files have been requested"
Else
lblNoFilesSelected.Text = ""
If String.IsNullOrEmpty(txtEmail.Text) Then
Dim dvEmailAddress As Data.DataView = GetEmailAddress.Select(DataSourceSelectArguments.Empty)
txtEmailAddress.Text = dvEmailAddress.ToTable.Rows(0)("EmailAddress")
Else
txtEmailAddress.Text = txtEmail.Text
End If
Dim FileID As Integer
Dim ArraySelectedFiles As New ArrayList
For Each item As GridDataItem In RequestFiles.MasterTableView.Items
If item.Selected Then
Dim Filename As String = item("FileNumber").Text.ToString()
Session("FileID") = Filename
ArraySelectedFiles.Add(Session("FileID"))
FileID = Convert.ToInt32(item.GetDataKeyValue("FileID"))
'Grab the objects out array and put into string.
For Each objitem In ArraySelectedFiles.ToArray
Session("PropertyString") = Session("PropertyString") & objitem.ToString
lblArrayList.Text = Session("PropertyString")
Next
Dim conFiles As SqlConnection
Dim strConnection As String
Dim cmd As New SqlCommand
Dim cmdinsert As SqlCommand
Dim strInsert As String
strConnection = ConfigurationManager.ConnectionStrings("FileawaySQLConnectionString").ConnectionString
conFiles = New SqlConnection(strConnection)
conFiles.Open()
cmd.Connection = conFiles
cmd.CommandText = "UPDATE dbo.Files SET FileStatus = 2 WHERE FileID = '" + FileID.ToString() + "'"
cmd.ExecuteNonQuery()
conFiles.Close()
conFiles = New SqlConnection(strConnection)
strInsert = "INSERT INTO dbo.FileHistory (FileID, Action, ActionedBy) VALUES (@RowID, @Action, @ActionedBy)"
cmdinsert = New SqlCommand(strInsert, conFiles)
cmdinsert.Parameters.AddWithValue("@RowID", FileID)
cmdinsert.Parameters.AddWithValue("@Action", 2)
cmdinsert.Parameters.AddWithValue("@ActionedBy", txtEmailAddress.Text)
conFiles.Open()
cmdinsert.ExecuteNonQuery()
conFiles.Close()
End If
Next
Me.RequestFiles.Rebind()
send_email()
End If
Session.Remove("PropertyString")
End Sub