Jag har en db-driven checkboxlist och en db-driven dropdownlist. Jag använder VBScript. På varje värde som är ikryssad i checkboxen ska värdet på dropdownlisten läggas in. Jag har provat olika varianter, men den lägger bara in i en checkbox, inte i alla. Någon som vet hur man gör? Tackar på förhand för svar. Vi skulle nog behöva se din kod för att veta vad du gör fel. Här är sub-rutinen för att lägga in värdet, det är i asp.net. Jag fick inte din kod att fungera alls. Hej, testade koden, men samma resultat som innan, den skriver in ett värde bara. Dessa varianter brukar dock funka på checkboxlistor som är kodade, inte hämtade från databaser. Nu funkar det, var tvungen att lägga ut länken vidare. Tack så hemskt mycket för hjälpen.Checkboxlist
Sv: Checkboxlist
Men vad är det du gör i VBScript? Kör du klassisk ASP eller ASP.NET?
/pD
www.pdc.se
www.pdc.se/blog
www.patrik-dahlen.nuSv: Checkboxlist
Sub Update(sender As Object, e As EventArgs)
For Each CheckBoxList1.Items.Selected
Dim connectionString As String = "server='(local)'; trusted_connection=true; database='tmdata'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "UPDATE [tmdata] SET [Ansvarig]=@Ansvarig, [Utdelat]='1' WHERE ([tmdata].[Matarnr] = @CheckBoxList1)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dbParam_checkBoxList1 As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
dbParam_checkBoxList1.ParameterName = "@CheckBoxList1"
dbParam_checkBoxList1.Value = CheckBoxList1.Items.Text
dbParam_checkBoxList1.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_checkBoxList1)
Dim dbParam_ansvarig As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
dbParam_ansvarig.ParameterName = "@Ansvarig"
dbParam_ansvarig.Value = DropDownList1.SelectedItem.Value
dbParam_ansvarig.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_ansvarig)
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Response.redirect("mission.aspx")
Finally
dbConnection.Close
End Try
Next
End SubSv: Checkboxlist
Jag kör VS.NET och fick fram att .Items.Selected inte finns i en CheckBoxList. Istället så skapar jag en temporär listitem och loopar listan om den är vald så körs databasanropet. Värdet som skickas in till databasen är listitem.text, inte CheckBoxList1.Items.Text.
<code>
Sub Update(sender As Object, e As EventArgs)
Dim tmpCheckBox As ListItem
For Each tmpCheckBox In CheckBoxList1.Items
If tmpCheckBox.Selected Then
Dim connectionString As String = "server='(local)'; trusted_connection=true; database='tmdata'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "UPDATE [tmdata] SET [Ansvarig]=@Ansvarig, [Utdelat]='1' WHERE ([tmdata].[Matarnr] = @CheckBoxList1)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dbParam_checkBoxList1 As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
dbParam_checkBoxList1.ParameterName = "@CheckBoxList1"
dbParam_checkBoxList1.Value = tmpCheckBox.Text
dbParam_checkBoxList1.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_checkBoxList1)
Dim dbParam_ansvarig As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
dbParam_ansvarig.ParameterName = "@Ansvarig"
dbParam_ansvarig.Value = DropDownList1.SelectedItem.Value
dbParam_ansvarig.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_ansvarig)
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Response.redirect("mission.aspx")
Finally
dbConnection.Close
End Try
end if
Next
End Sub
</code>Sv: Checkboxlist
Sv: Checkboxlist