本文详细讲解了C#开发WinForm清空DataGridView控件绑定数据的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
使用DataGridView控件绑定数据后,有时需要清除空绑定数据。当清除由DataGridView绑定的数据时:
1.将DataSource设置为null。
this.dgvDemo.DataSource = null
这将清除空DataGridView绑定的数据,但DataGridView的列也将被删除。
2.使用DataGridView。Row.Clear()
this.dgvDemo.Rows.Clear()
使用此方法将报告错误并提示ldquo无法清除列表rdquo,错误消息如下:
以上两种方法都不是想要的结果。为了防止删除原始列,应该清除以前绑定的数据表中的数据,然后重新绑定该数据表
DataTable dt = this.dgvDemo.DataSource as DataTable;dt.Rows.Clear();this.dgvDemo.DataSource = dt;
示例代码如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms; namespace DataGridViewDemo{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } string strCon = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString; private void btn_BindingData_Click(object sender, EventArgs e) { DataTable dt = GetDataSource(); this.dgvDemo.DataSource = dt; } private DataTable GetDataSource() { DataTable dt = new DataTable(); SqlConnection conn = new SqlConnection(strCon); string strSQL = "SELECT XIANGMUCDDM AS '项目代码',XIANGMUMC AS '项目名称', DANJIA AS '单价',SHULIANG AS '数量' FROM InPatientBillDt WHERE 就诊ID='225600'"; SqlCommand cmd = new SqlCommand(strSQL, conn); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = cmd; try { conn.Open(); adapter.Fill(dt); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { conn.Close(); } return dt; } private void btn_Clear_Click(object sender, EventArgs e) { // this.dgvDemo.DataSource = null会将DataGridView的列也删掉 //this.dgvDemo.DataSource = null; // 会报错:提示“不能清除此列表” //this.dgvDemo.Rows.Clear(); DataTable dt = this.dgvDemo.DataSource as DataTable; dt.Rows.Clear(); this.dgvDemo.DataSource = dt; } }}
示例程序的下载地址:单击此处下载
关于清除空DataGridView控件绑定数据的这篇文章到此为止。希望对大家的学习有所帮助
精彩评论