我正在使用c#和winforms,我没有使用任何类型的数据库,每个东西都是通过代码添加的。
你好我有一个名为_GridView
的DataGridView,其中一列名为IP。
IP是唯一的列,是一个字符串
我有以下代码来添加行并更新网格:
public void AddUser(string IP)
{
_GridView.Rows.Add(IP);
_GridView.Update();
_GridView.Refresh();
}
由于某种原因,网格没有更新/刷新,我没有收到任何类型的错误,IP也不是null。
谢谢你的时间
答案 0 :(得分:0)
据我所知你应该调用_GridView.EndEdit();在你再次刷新它之前,请让我更新
答案 1 :(得分:0)
我不喜欢直接编辑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应用程序来测试这个,对任何错误都很抱歉。