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