Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView未更新/重新格式化_C#_Winforms_Datagridview - Fatal编程技术网

C# DataGridView未更新/重新格式化

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(

我使用的是c#和winforms,我没有使用任何类型的数据库,所有东西都是通过代码添加的。
您好,我有一个名为
\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'是唯一的列,也是字符串