C# DataGridView未更新/重新格式化
我使用的是c#和winforms,我没有使用任何类型的数据库,所有东西都是通过代码添加的。C# DataGridView未更新/重新格式化,c#,winforms,datagridview,C#,Winforms,Datagridview,我使用的是c#和winforms,我没有使用任何类型的数据库,所有东西都是通过代码添加的。 您好,我有一个名为\u GridView的DataGridView,其中一列名为IP。 IP是唯一的列,是一个字符串 我有以下代码来添加一行并更新网格: public void AddUser(string IP) { _GridView.Rows.Add(IP); _GridView.Update(); _GridView.Refresh(
您好,我有一个名为
\u GridView
的DataGridView,其中一列名为IP。
IP是唯一的列,是一个字符串
我有以下代码来添加一行并更新网格:
public void AddUser(string IP)
{
_GridView.Rows.Add(IP);
_GridView.Update();
_GridView.Refresh();
}
由于某些原因,网格没有更新/刷新,我没有收到任何类型的错误,IP也不是空的。
谢谢您抽出时间据我所知,您应该致电_GridView.EndEdit();在再次刷新之前,请让我保持更新状态我不喜欢直接编辑datarow集合 或者,尝试使用
BindingList
作为网格的数据源。
由于我们没有太多的背景知识,我将使用方法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;
}
}
BindingList source=newbindingList();
public void示例ColumnSetup()
{
DataGridViewColumn=新DataGridViewTextBoxColumn();
column.DataPropertyName=“IP”;
column.Name=“User”;
_GridView.Columns.Add(column);
}
公共void AddUser(字符串ip)
{
添加(新用户(IP=IP));
_GridView.DataSource=null;
_GridView.DataSource=source;
}
公共类用户()
{
公共字符串IP{get;set;}
公共用户(字符串IP)
{
this.IP=IP;
}
}
如果将新用户添加到源
列表中,网格应自行更新。
我没有任何winforms应用程序来测试这一点,非常抱歉出现任何错误。@pekira在这种情况下,您应该有某种数据源,因为它需要保存在某个地方,请尝试向我提供此信息或查看DataGridView的数据源。我认为这不是问题,因为另一个程序使用此代码InfoGrid.Rows.Add(“Test”、Test.Count)和is working可能是一个类型错误?您能告诉我们您是如何创建列的吗,因为我们在这里不清楚。IP
是第一列吗?它是字符串类型吗?@robbievercamen'IP'是唯一的列,也是字符串