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();