Listitem添加到c#中的第二行

时间:2015-03-03 11:10:47

标签: c# mysql listview

我从mysql数据库获取数据并将此数据添加到ListView。 当我这样做时,数据开始添加到第二行。第一行是空的。但是它正确地加载了所有数据。只有数据库中的第一行被添加到listview的第二行。

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

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可能在设计器的列表视图中有一个占位符项。 在开始填充之前调用清除项目,以确保以干净的石板开始。

这也意味着您可以随时从dB重新加载。

SessionList.Items.Clear();

答案 1 :(得分:0)

检查数据表的第一行是否包含列名。在这种情况下,您必须从dt.Rows集合中的i = 1开始。