我创建了一个包含3个参数的类,以便填充和显示gridview。 这个对象是这样组成的:string,string,list。 我设法显示第一个和第二个参数,但不是第三个参数,如下所示: enter image description here
这是我的主要代码:
protected void Page_Load(object sender, EventArgs e)
{
// Process principal
try
{
// Requête en chaînes de caractères qui sera utilisée pour récupérer les données dans la table Template
string request = "SELECT Id, Name, Content From Template";
// Connexion à la base de données et à la table et utilisation de la requêtes SQL
SqlCommand cmd = new SqlCommand(request, connect);
connect.Open();
// Exécution de la requête SQL
SqlDataReader sdr = cmd.ExecuteReader();
// Si la commande comporte des lignes
if (sdr.HasRows)
{
Liste_template = new List<TemplateObject>();
// Tant que le DataReader lit des informations.
while(sdr.Read())
{
string temp_name = sdr["Name"].ToString();
string temp_id = sdr["Id"].ToString();
TemplateObject newTemplate = new TemplateObject(temp_id, temp_name, liste_id_form("Content", sdr));
Liste_template.Add(newTemplate);
}
}
gv.DataSource = Liste_template;
gv.DataBind();
}
finally
{
connect.Close();
}
}
// Méthode pour délimiter chaque chaque chaine de caractères à partir des symboles dans le tableau delimiterChars.
public string[] RecupChaines(string chaine)
{
char[] delimiterChars = { ';', '&', '=', '"' };
string[] words = chaine.Split(delimiterChars);
return words;
}
// Méthode de récupération des Id des Form dans le champs Content de la table Template.
public List<String> liste_id_form(string field, SqlDataReader sdr)
{
List<string> listIdForm = new List<string>();
// enregistrement du contenu du champs Content dans une variable
string content = sdr[field].ToString();
// Tentative de séparation des deux parties de la chaine de caracteres
string chaineACouper = "<Property Name=\"Description\" Value=\"\" />";
string[] chaineArrive = content.Split(new string[] { chaineACouper }, StringSplitOptions.None);
chaineArrive[0] += chaineACouper;
// Séparation des deux parties.
string stringPartOne = chaineArrive[0];
string stringPartTwo = chaineArrive[1];
// Récuperation de la liste des valeurs des FormId de la chaine de caractères
string[] words = RecupChaines(stringPartTwo);
for (int i = 0; i < words.Length; i++)
{
if (words[i].Equals("FormId"))
{
listIdForm.Add(words[i + 5]);
}
}
return listIdForm;
}
}
我不知道如何在list_id_form上循环,以便在我的gridview上显示它。有关信息,我的类有一个id,一个名称和一个数据列表。 我必须使用字符串,因为数据库中的数据未正确存储。我没有掌握这个,我无法修改它。