天天看点

当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行

一、如果你的程序中,没有如下代码:

dataGridView1.DataSource = null;
dataGridView1.DataSource = JsonResult.Data;
           

说明你的 DataGridView没有以编程方式绑定数据。这个时候你可以这样添加新行:

int index=this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[index].Cells[0].Value = "XXX"; 
this.dataGridView1.Rows[index].Cells[1].Value = "XXX"; 
this.dataGridView1.Rows[index].Cells[2].Value = "XXX";
           

利用dataGridView1.Rows.Add()事件为DataGridView控件增加新的行,该函数返回添加新行的索引号,即新行的行号。

二、如果你的程序报出异常信息和标题一样。。。。。。:那解决办法如下:

理清思路,你的dataGridView1绑定的数据集合是什么。然后添加新行的时候要先集合添加,在显示在dataGridView1中。比如题主的集合:

public class JsonRes
    {
        public List<Count> Data { get; set; } 
    }
    public class Count
    {
        public string Title { get; set; }
        public string Logo { get; set; }
        public string Type { get; set; }
        public string Date { get; set; }
        public string IsCheck { get; set; }
    }
           

在添加新行的事件中写:

Count count = new Count();
            count.Title ="XXX";
            count.Logo = "XXX";
            count.Type = "XXX";
            count.Date = "XXX";
            count.IsCheck = "XXX";
            jsonResult.Data.Add(count);
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = jsonResult.Data;
           

这种办法才是最实用的。。。。。纯手敲。。。。。

偶遇问题。及时记录。。。。