如何使用mysql中的数据更新listview

时间:2014-04-13 10:31:18

标签: c# mysql winforms

如何使用数据库表中的特定列更新listview? 我使用下面的代码

   String con = "datasource = localhost; port=3306;username=root;password=****";
        MySqlConnection mycon = new MySqlConnection(con);

        string qw = "select wine from cms.menulist";
        MySqlDataAdapter da = new MySqlDataAdapter(qw, mycon);
        DataTable dt1 = new DataTable();
        da.Fill(dt1);
        foreach (DataRow row in dt1.Rows)
        {
            string wine = string.Format("{0}", row.ItemArray[0]);
            listView1.Items.Add(wine);
        }

但是这段代码会生成一个包含两列的列表视图。来自mysql的数据放在这两列中我希望列表视图只包含1列

1 个答案:

答案 0 :(得分:0)

似乎ListView根据插入的项目的宽度构建其列。此行为可能会导致您的问题,因此您有一些选项/解决方法可以开始使用:

  1. 正确调整ListView的大小,以便只适合一列。如果你知道你的数据有多宽,那就可以了。

  2. ListView添加一列,并根据ListView减去4(列的总宽度)的总宽度设置宽度。之后,将列样式设置为ColumnHeaderStyle.None并将View设置为View.Details

    listView1.View = View.Details;
    listView1.Columns.Add("somecolumn");
    listView1.Columns[0].Width = listView1.Width - 4;
    listView1.HeaderStyle = ColumnHeaderStyle.None;
    
  3. 停止使用ListView并考虑一些替代方案,例如ListBoxDataGridView