[英]Sqldatareader in Xamarin.Forms - filling up the ListView
MySqlConnection sqlconn = new MySqlConnection(MyConnectionString);
sqlconn.Open();
MySqlCommand sqlcmd1 = new MySqlCommand("SELECT * FROM Instructor", sqlconn);
MySqlDataReader dr1;
dr1 = sqlcmd1.ExecuteReader();
while (dr1.Read())
{
// get the results of each column
int id = (int)dr1["ID_Instructor"];
string firstname = (string)dr1["f_name"];
string lastname = (string)dr1["l_name"];
string school = (string)dr1["d_school"];
string category = (string)dr1["category"];
var instructors = new List<Instructor>
{
new Instructor
{
Id = id,
Fullname = firstname+" "+lastname,
Details = school+" "+category
}
};
InstructorsListView.ItemsSource = instructors;
}
嗨!
我正在嘗試在Xamarin.Forms中填充我的ListView 。 我通過MySqlDataReader做到這一點。 使用這段代碼,我從數據庫中僅獲得一條記錄,因為while循環覆蓋了它。
當我要用數據庫中的所有數據填充列表時,該怎么辦?
將instructors
聲明放在while循環之外:
var instructors = new List<Instructor>();
while (dr1.Read())
{
..
/* Populate here your instructor data */
var instructor = new Instructor
{
Id = id,
Fullname = firstname+" "+lastname,
Details = school+" "+category
}
instructors.Add(instructor);
}
InstructorsListView.ItemsSource = instructors;
當前,您正在覆蓋您的集合,而不是在每次循環迭代時向您的集合添加新的講師。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.