This is a migrated thread and some comments may be shown as answers.

ArrayList

0 Answers 88 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Andrew
Top achievements
Rank 1
Andrew asked on 16 Jul 2011, 12:44 PM
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

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

No answers yet. Maybe you can help?

Tags
Grid
Asked by
Andrew
Top achievements
Rank 1
Share this question
or