C# DataGridView 数据操作详解:增删改实现与样式设置

5星 · 超过95%的资源 需积分: 44 305 下载量 120 浏览量 更新于2023-03-03 7 收藏 30KB DOC 举报
在C#编程中,DataGridView是一个强大的控件,常用于显示和管理表格数据。本文将详细介绍如何使用C#对DataGridView进行添加、修改和删除数据操作,以配合本地MySQL数据库进行操作。 首先,我们需要设置数据库连接。在代码中,一个名为`dbconn`的函数被定义,它接受SQL查询字符串作为参数。这个函数创建一个`MySqlConnection`对象,通过构造函数设置连接字符串,包括主机名、数据库名称、用户名和密码。接着,打开连接,创建一个`MySqlDataAdapter`实例来执行SQL查询,并填充到一个新的`DataTable`对象中。最后关闭数据库连接并返回填充好的数据表。 ```csharp private DataTable dbconn(string strSql) { string strconn = "host=localhost;database=test;username=root;password=..."; MySqlConnection conn = new MySqlConnection(); conn.ConnectionString = strconn; conn.Open(); this.adapter = new MySqlDataAdapter(strSql, conn); DataTable dtSelect = new DataTable(); adapter.Fill(dtSelect); conn.Close(); return dtSelect; } ``` 对于DataGridView的操作,我们需要确保其列布局合适。`setDgStyle`函数用于设定DataGridView的样式,其中创建了一个名为`colDel`的DataGridViewCheckBoxColumn,用于标记行是否需要删除。该列的属性包括DataPropertyName(Del)、Name、FalseValue和TrueValue,以及宽度、排序模式和文本对齐方式。这样,用户可以通过选择或取消选择这个复选框来进行行的删除操作。 ```csharp private void setDgStyle() { this.dgvSelect.Columns.Clear(); DataGridViewCheckBoxColumn colDel = new DataGridViewCheckBoxColumn(); colDel.DataPropertyName = "Del"; colDel.Name = "Del"; colDel.Selected = false; colDel.FalseValue = "0"; colDel.TrueValue = "1"; colDel.Width = 40; colDel.SortMode = DataGridViewColumnSortMode.NotSortable; colDel.HeaderText = "删除"; colDel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; colDel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; this.dgvSelect.Columns.Add(colDel); } ``` 进行实际的数据操作时,可以使用以下步骤: 1. 添加数据:当你有新的数据要插入DataGridView,可以先将其转换为DataTable,然后调用DataGridView的`DataSource`属性设置数据源。 ```csharp DataTable newData = GetDataFromYourSource(); // 获取新数据 dgvSelect.DataSource = newData; ``` 2. 修改数据:在用户选中特定行后,可以从DataTable获取数据,进行修改,然后再更新DataGridView。例如,假设有一个字段`Name`: ```csharp DataRow row = dgvSelect.CurrentRow; string newName = GetEditedValue(row["Name"]); // 获取编辑后的值 row["Name"] = newName; dgvSelect.DataSource = null; // 清除数据源,强制更新 dgvSelect.DataSource = dtSelect; // 重新设置数据源 ``` 3. 删除数据:通过检查`colDel`中的值,可以实现删除功能。当用户勾选删除复选框时,可以选择相应的行并执行删除操作: ```csharp if (dgvSelect.Rows[rowIndex].Cells["Del"].Value == true) { dtSelect.Rows.RemoveAt(rowIndex); // 从DataTable中删除 dgvSelect.Rows.Remove(dgvSelect.Rows[rowIndex]); // 从DataGridView中删除 } ``` 以上就是在C#中使用DataGridView进行添加、修改和删除数据操作的基本流程,结合MySQL数据库,可以根据实际需求进一步定制和完善。