繁体   English   中英

更新列表视图项

[英]Updating list view items

我正在更新SQL Server数据库中的一些数据,然后将这些数据显示在列表框中。 它正在更新数据,但显示重复的条目(旧的和新的条目),除非我重新启动Windows窗体。 有人知道如何在按钮单击事件上刷新它吗? 刷新功能或更新功能均无效

private void button2_Click(object sender, EventArgs e)
{
    SqlDataReader dr;
    try
    {
        SqlCommand cmd = new SqlCommand("select prod, eng from comp", cn);
        cn.Open();
        dr = cmd.ExecuteReader();

    while (dr.Read())
    {

        listBox1.Items.Add((String)dr["prod"] + "\t\t" + (string)dr["eng"]);

    }

   cn.Close();
   listBox1.Refresh();

}

如果要重绘列表框,请尝试以下操作:

listBox1.Invalidate();

这将重新绘制您的控件。

尝试:

listBox1.Items.Clear();

如果只希望新项目显示在列表框中在写入数据库读取项目之前,如下所示:

private void button2_Click(object sender, EventArgs e)
{
    SqlDataReader dr;
    try
    {
        SqlCommand cmd = new SqlCommand("select prod, eng from comp", cn);
        cn.Open();
        dr = cmd.ExecuteReader();

    listBox1.Items.Clear();

    while (dr.Read())
    {

        listBox1.Items.Add((String)dr["prod"] + "\t\t" + (string)dr["eng"]);

    }

   cn.Close();
   listBox1.Invalidate();

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM