DataGridView事件CellContentClick
触发
dataGridView的CellContentClick事件,并且在事件
中调用Edit 方法。
实现
DataGridView中添加CheckBox后不满足条件去掉勾选
并且实现勾选后将绑定数据的
存入表的动作
点击确定后去掉勾选
Main.cs
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
winform程序在datagridview首列中增加序号
1.在datagridview的属性中找到RowHeaderVisible并将其属性值更改为True,即可在datagridview最左侧看到增加一列。
2.在form中添加代码
private void dgv_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
Rectangle rectangle = new Rectangle(e.RowBounds.Loc
代码示例演示如何自定义 DataGridViewButtonCell 类来显示可以显示为禁用的按钮。 本示例定义一个新的单元格类型 DataGridViewDisableButtonCell,它由 DataGridViewButtonCell 派生。 此单元格类型提供一个新的 Enabled 属性,可以将该属性设置为 false 来在单元格中绘制禁用的按钮。 本示例还定义一个新的列类型 DataGridViewDisableButtonColumn,它显示 DataGridViewDisableButtonCell 对象。 为了演示此新单元格类型和列类型,父 DataGridView 中的每个 DataGridViewCheckBoxCell 的当前值确定同一行中 DataGridViewDisableButtonCell 的 Enabled 属性是 true 还是 false。
1.
添加DataGridView控件到窗体
中。
2.
设置DataGridView的属性,如Name、Dock、ColumnHeadersDefaultCellStyle等。
3. 创建数据源,可以使用List或DataTable等。
4. 绑定数据源到
DataGridView中。
5. 在窗体加载事件
中,
设置DataGridView的Columns。
6. 在
需要的时候,动态增加行、删除行。
7. 在
需要的时候,增加
按钮列。
下面是代码示例:
```csharp
// 创建数据源
List<Student> students = new List<Student>();
students.Add(new Student() { Name = "小明", Age = 18, Gender = "男" });
students.Add(new Student() { Name = "小红", Age = 20, Gender = "女" });
students.Add(new Student() { Name = "小刚", Age = 19, Gender = "男" });
// 绑定数据源到
DataGridView中
dataGridView1.DataSource = students;
// 在窗体加载事件
中,
设置DataGridView的Columns
private void Form_Load(object sender, EventArgs e)
//
设置自动生成
列为false,否则会生成数据绑定的
列
dataGridView1.AutoGenerateColumns = false;
//
添加文本
列
DataGridViewTextBoxColumn nameColumn = new
DataGridViewTextBoxColumn();
nameColumn.DataPropertyName = "Name";
nameColumn.HeaderText = "姓名";
dataGridView1.Columns.Add(nameColumn);
DataGridViewTextBoxColumn ageColumn = new
DataGridViewTextBoxColumn();
ageColumn.DataPropertyName = "Age";
ageColumn.HeaderText = "年龄";
dataGridView1.Columns.Add(ageColumn);
DataGridViewTextBoxColumn genderColumn = new
DataGridViewTextBoxColumn();
genderColumn.DataPropertyName = "Gender";
genderColumn.HeaderText = "性别";
dataGridView1.Columns.Add(genderColumn);
// 动态增加行
private void btnAdd_Click(object sender, EventArgs e)
students.Add(new Student() { Name = "小李", Age = 21, Gender = "男" });
dataGridView1.DataSource = null;
dataGridView1.DataSource = students;
// 动态删除行
private void btnDelete_Click(object sender, EventArgs e)
int rowIndex =
dataGridView1.CurrentCell.RowIndex;
if (rowIndex >= 0)
students.RemoveAt(rowIndex);
dataGridView1.DataSource = null;
dataGridView1.DataSource = students;
// 增加
按钮列
private void btnAddButtonColumn_Click(object sender, EventArgs e)
//
添加按钮列
DataGridViewButtonColumn buttonColumn = new
DataGridViewButtonColumn();
buttonColumn.HeaderText = "操作";
buttonColumn.Text = "删除";
buttonColumn.UseColumnTextForButtonValue = true;
dataGridView1.Columns.Add(buttonColumn);
其
中,Student是一个自定义的类,包含Name、Age、Gender三个属性:
```csharp
public class Student
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
以上代码可以实现在
C#中点击
按钮用
DataGridView动态增加行、删除行,并且增加
按钮列。