代码之家  ›  专栏  ›  技术社区  ›  Brendan

如何缓存行而不引发“提供的行已属于DataGridView”错误?

  •  2
  • Brendan  · 技术社区  · 17 年前

    DataGridView “刷新”之间的行,即 Rows.Clear() 以及a Columns.Clear() Clear() 方法不会解除数据与 控件 例如,

    
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            DataGridViewRow cachedRow = new DataGridViewRow();
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.dataGridView1.Rows.Clear();
                this.dataGridView1.Columns.Clear();
                DataGridViewColumn aColumn = new DataGridViewTextBoxColumn();
                this.dataGridView1.Columns.Add(aColumn);
                this.dataGridView1.Rows.Add(cachedRow);
            }
        }
    

    控件 以及a Button

    3 回复  |  直到 17 年前
        1
  •  2
  •   tvanfosson    17 年前
        2
  •  1
  •   chown    14 年前

    DataRow() 然后 DataTable.ImportRow 致发起人 DataTable .

        3
  •  0
  •   Neil Barnwell    17 年前

    您应该考虑实现ObservableCollection和Binding组件。这样,如果从对象模型中删除了一个项目,那么它就会自动从网格中删除。这使您不必执行听起来像手动数据绑定的操作,从而完全避免了这个问题。

    推荐文章