使用Object填充gridview

时间:2017-12-20 09:37:52

标签: asp.net class oop gridview

我创建了一个包含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,一个名称和一个数据列表。 我必须使用字符串,因为数据库中的数据未正确存储。我没有掌握这个,我无法修改它。

0 个答案:

没有答案