2010-01-26 2 views
1

pouvez-vous remplir la liste de contrôle de la requête du serveur SQL comme une liste déroulante? avec autopostback = true? J'utilise vb.net et j'ai 50 cases à cocher qui apparaîtront à partir des données de la base de données en fonction de la valeur sélectionnée de la liste déroulante précédente. puis-je aussi changer l'étiquette de la case à cocher chaque fois que la valeur provient de DB? l'étiquette doit être identique à la valeur de la case à cocher.aspx vb.net checkboxlist à remplir à partir du serveur sql

Répondre

1

En supposant que votre ControlId de CheckBoxList est myCheckBoxList:

Dim mySQL As String = "Name_of_stored_proceedure" 
Dim mySqlConnection As SqlClient.SqlConnection = New SqlClient.SqlConnection("The_connection_string") 
Dim mySqlCommand As SqlClient.SqlCommand = New SqlClient.SqlCommand(mySQL, mySqlConnection) 
mySqlCommand.CommandType = CommandType.StoredProcedure  
Dim myDataAdapter As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(mySqlCommand) 
Dim myDataTable As New DataTable 
mySqlConnection.Open() 
myDataAdapter.Fill(myDataTable) 
mySqlConnection.Close() 
myCheckBoxList.DataSource = myDataTable 
myCheckBoxList.DataBind() 

C'est le processus d'utiliser une procédure stockée. Si vous souhaitez utiliser SQL direct ou une requête paramétrée, supprimez le mySqlCommand.CommandType = CommandType.StoredProcedure et placez le SQL dans le champ "Name_of_stored_proceedure". N'oubliez pas de mettre le nom de colonne de la base de données dans la propriété DataValueField de CheckBoxList que vous souhaitez pour la valeur et le nom de colonne pour le DataTextField que vous souhaitez utiliser pour le texte.

Questions connexes