首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGridView不更新/更新

DataGridView不更新/更新
EN

Stack Overflow用户
提问于 2017-02-04 22:30:52
回答 2查看 95关注 0票数 0

我使用的是c#和winforms,我没有使用任何类型的数据库,每样东西都是通过代码添加的。

你好,我有一个名为DataGridView的_GridView,它有一个名为IP的列。

IP是唯一的列,是一个字符串。

我有以下代码来添加一行并更新网格:

代码语言:javascript
复制
    public void AddUser(string IP)
    {
        _GridView.Rows.Add(IP);
        _GridView.Update();
        _GridView.Refresh();
    }

由于某些原因,网格没有更新/刷新,我没有收到任何类型的错误,IP也不是空的。

谢谢您抽时间见我

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-04 23:16:00

我不喜欢直接编辑datarow集合。

或者,尝试使用BindingList<User>作为网格的DataSource。由于我们没有太多的背景,所以方法ExampleColumnSetup()是如何设置IP列的:

代码语言:javascript
复制
BindingList<User> source = new BindingList<User>();

public void ExampleColumnSetup()
{
    DataGridViewColumn column = new DataGridViewTextBoxColumn();
    column.DataPropertyName = "IP";
    column.Name = "User";
    _GridView.Columns.Add(column);
}
public void AddUser(string ip)
{
    source.add(new User(IP = ip));

    _GridView.DataSource = null;
    _GridView.DataSource = source;
}
public class User()
{
    public string IP { get; set; }
    public User(string IP)
    {
        this.IP = IP;
    }
}

如果将一个新用户添加到source列表中,则网格应自我更新。我没有任何winforms应用程序来测试这个,很抱歉有任何错误。

票数 0
EN

Stack Overflow用户

发布于 2017-02-04 22:34:08

据我所知,您应该调用_GridView.EndEdit();在再次刷新它之前,请随时更新

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42046379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档