步骤:建立一个winform项目,在Form1窗体里面放一个DataGridView一个Button。
下面是关键代码
public Form1()
        {
            InitializeComponent();
            lst = new List<string>();
            this.dataGridView1.DataSource = lst;
        }
        List<string> lst;
private void button1_Click(object sender, EventArgs e)
        {
            lst.Add("F");
            this.dataGridView1.DataSource = null;
            this.dataGridView1.DataSource = lst;
        }运行项目之后,直接点击按钮N次,然后点DataGridView当中的记录。
会提示你:索引-1 没有值
求解?

解决方案 »

  1.   

    this.dataGridView1.DataSource = null; 
    不能绑定null吧
      

  2.   


    this.dataGridView1.DataSource = lst; 
    this.dataGridView1.databind();
      

  3.   

    把这两句删除试试this.dataGridView1.DataSource = null; 
                this.dataGridView1.DataSource = lst; 
      

  4.   


    试试这个 this.dataGridView1.DataSource = lst; 
    this.dataGridView1.databind();
      

  5.   

    把Form1里面的this.dataGridView1.DataSource = lst; 去掉就可以解决错误
    关键是为什么会报这样的错?
    个人理解和List<string>的存储机制有点关系
    有人能详细的分析一下呢?
      

  6.   

    这个是Winform编程,不是Web编程,没有DataBind()方法
    建议大家运行一下试试,不要上来就回复