Listitem 添加到 C# 中的第二行
Listitem added in to second row in c#
我正在从 mysql 数据库获取数据并将此数据添加到 ListView。
当我这样做时,数据开始添加到第二行。第一行是 empty.But 它加载所有数据 correctly.Only 数据库中的第一行被添加到列表视图的第二行中。
private void CreateSessionList() {
SessionList.View = View.Details;
SessionList.Font = Listctrlfont;
connection.Open();
cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM sessiontbl";
MySqlDataAdapter ada = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
ada.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++) {
DataRow dr = dt.Rows[i];
ListViewItem listitem = new ListViewItem(dr["SessionID"].ToString());
listitem.Font = Listitemfont;
listitem.SubItems.Add(dr["InstID"].ToString());
listitem.SubItems.Add(dr["Trainee"].ToString());
listitem.SubItems.Add(dr["SessDt"].ToString());
listitem.SubItems.Add(dr["ModelID"].ToString());
listitem.SubItems.Add(dr["ModelName"].ToString());
SessionList.Items.Add(listitem);
}
}
我做错了什么?
检查Datatable的第一行是否包含列names.In这种情况,你必须从dt.Rows集合中的i=1开始。
您可能在设计器的列表视图中有一个占位符项。
在开始填充之前调用 clear 以确保您从一个干净的状态开始。
这也意味着您可以随时从 dB 重新加载。
SessionList.Items.Clear();
我正在从 mysql 数据库获取数据并将此数据添加到 ListView。 当我这样做时,数据开始添加到第二行。第一行是 empty.But 它加载所有数据 correctly.Only 数据库中的第一行被添加到列表视图的第二行中。
private void CreateSessionList() {
SessionList.View = View.Details;
SessionList.Font = Listctrlfont;
connection.Open();
cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM sessiontbl";
MySqlDataAdapter ada = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
ada.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++) {
DataRow dr = dt.Rows[i];
ListViewItem listitem = new ListViewItem(dr["SessionID"].ToString());
listitem.Font = Listitemfont;
listitem.SubItems.Add(dr["InstID"].ToString());
listitem.SubItems.Add(dr["Trainee"].ToString());
listitem.SubItems.Add(dr["SessDt"].ToString());
listitem.SubItems.Add(dr["ModelID"].ToString());
listitem.SubItems.Add(dr["ModelName"].ToString());
SessionList.Items.Add(listitem);
}
}
我做错了什么?
检查Datatable的第一行是否包含列names.In这种情况,你必须从dt.Rows集合中的i=1开始。
您可能在设计器的列表视图中有一个占位符项。 在开始填充之前调用 clear 以确保您从一个干净的状态开始。
这也意味着您可以随时从 dB 重新加载。
SessionList.Items.Clear();