Comment puis-je stocker les éléments cochés de ma liste de cases à cocher? Je n'ai pas de classe donc je ne peux pas utiliser ListItems. Ma liste de cases à cocher est remplie à l'aide de ma base de données (MS Access).Comment stocker un ou plusieurs éléments de case à cocher dans un tableau de chaînes en C#?
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = @"SELECT CONTENT FROM " + tab + " GROUP BY CONTENT ORDER BY MIN(CHAP)";
OleDbDataAdapter dAdap = new OleDbDataAdapter(command);
DataSet dSet = new DataSet();
dAdap.Fill(dSet);
for (int i = 0; i < dSet.Tables[0].Rows.Count; i++)
{
chkList.Items.Add(dSet.Tables[0].Rows[i][0].ToString()); //This is the part where the items are populated
}
connection.Close();
modifier en utilisant foreach
foreach (string chk in chkList.CheckedItems)
{
MessageBox.Show(chk.ToString()); //This gets every string checked, but one after another
top = chk;
}
pour ma requête
"SELECT TOP " + num + " QUESTION,C1,C2,C3,C4,ANSWER,CONTENT FROM " + tab + " WHERE CONTENT = '" + top + "'"
seulement interroger le dernier élément coché.
modifier pour compter les éléments cochés
MessageBox.Show(chkList.CheckedItems.Count.ToString());
string[] topic = new string[chkList.CheckedItems.Count];
for (int i = 0; i < topic.Length; i++)
{
topic[i] = //How to get the text for each checked items?
}
Avez-vous des données de votre base de données? – Sasha
Alors, quel est le vrai problème avec votre code? – Ferus7
@Sasha, quand j'utilise combox, oui je peux obtenir des données. Mais je vais le changer à la liste de contrôle afin que je puisse choisir plusieurs données. Le problème est que je ne sais pas comment puis-je obtenir les éléments cochés. Je pense que si je peux stocker la chaîne/s dans un tableau et le rejoindre. Ou y a-t-il un autre moyen? –