不破坏DataSource的结构绑定空数据到dataGridView控件

326 阅读1分钟

dataGridView控件中的行为手动通过Add()方法添加的时候可以通过Rows.Clear()方法清除数据;但是如果是通过DataSource绑定的话不能通过此方法清除,会报“不能清除此列表”的错误。如果用DataSource=null来清除的话会连列标题也一起清除,重新绑定DataSource后其结构会发生改变。通过下面的方法可以在不破坏DataSource的结构的前提下清空dataGridView中的数据:

private void BindEmptyDataTodataGridView(DataGridView dgv)
{
    if (dgv.DataSource != null)
    {
        if (dgv.Rows.Count > 0)
        {
            DataTable DT_Empty = dgv.DataSource as DataTable;
            DT_Empty.Rows.Clear();
            dgv.DataSource = DT_Empty;
        }
    }
}