我使用的是c#和winforms,我没有使用任何类型的数据库,每样东西都是通过代码添加的。
你好,我有一个名为DataGridView的_GridView,它有一个名为IP的列。
IP是唯一的列,是一个字符串。
我有以下代码来添加一行并更新网格:
public void AddUser(string IP)
{
_GridView.Rows.Add(IP);
_GridView.Update();
_GridView.Refresh();
}由于某些原因,网格没有更新/刷新,我没有收到任何类型的错误,IP也不是空的。
谢谢您抽时间见我
发布于 2017-02-04 23:16:00
我不喜欢直接编辑datarow集合。
或者,尝试使用BindingList<User>作为网格的DataSource。由于我们没有太多的背景,所以方法ExampleColumnSetup()是如何设置IP列的:
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应用程序来测试这个,很抱歉有任何错误。
发布于 2017-02-04 22:34:08
据我所知,您应该调用_GridView.EndEdit();在再次刷新它之前,请随时更新
https://stackoverflow.com/questions/42046379
复制相似问题