Заполнить `asp: Panel` в ASP.Net Форма C # со строками значений, выбранными из таблицы базы данных MySQL

#c# #mysql #asp.net #panel

#c# #mysql #asp.net #панель

Вопрос:

Мне нужно заполнить asp:Panel форму C # в aspnet строками значений, выбранными из таблицы базы данных MySQL. в этом примере у меня есть две строки, возвращенные из таблицы:

 mysql> SELECT
    dt,
    hh,
    dtes,
    dori,
    sali
FROM
    `tbl_1` jjj
JOIN `tbl_2` kkk ON jjj.dori = kkk.dori
WHERE
    dtes IN ('X250')
AND dt IN (
    DATE_SUB(CURDATE(), INTERVAL 1 DAY)
)
AND sali = 'S'
GROUP BY
    dt,
    hh,
    dori;
 ------------ ---------- ------ ------------- ------ 
| dt         | hh       | dtes | dori        | sali |
 ------------ ---------- ------ ------------- ------ 
| 2020-08-14 | 14:15:22 | X250 | X2001383334 | S    |
| 2020-08-14 | 14:42:48 | X250 | Y2001380456 | S    |
 ------------ ---------- ------ ------------- ------ 
2 rows in set
  

Это мой код для заполнения asp:Panel :

 using (OdbcDataReader reader = command.ExecuteReader())
{
    int count = 0;

    if (reader.HasRows)
    {
        while (reader.Read())
        {
            count  ;

            if (count >= 1)
            {
                //populate asp Panel;
                DateTime dt = Convert.ToDateTime(reader["dt"]);

                txdtes.Text = reader["dtes"].ToString();
                txdt.Text = dt.ToShortDateString();
                txhh.Text = reader["hh"].ToString();
                txdori.Text = reader["dori"].ToString();
                txsali.Text = reader["sali"].ToString();
            }
        }
    }
}
  

Моя проблема в том, что asp:Panel заполняются только значения из первой строки запроса, но при вставке while цикла он не должен заполнять asp:Panel все строки из таблицы?

Как это решить?

Заранее спасибо за любую помощь и предложения

Комментарии:

1. Почему вы увеличиваете количество в начале цикла? Количество изначально равно 0 и увеличивается до 1 в первый раз в цикле. Во второй раз в цикле это два, и вы не переходите к IF.

2. Панель не отображает несколько строк. Рассмотрите возможность использования GridView и привязки к нему DataTable.

3. Вы также должны показать разметку вашей страницы в вопросе.