C# DataGridView中实现勾选存储数据和右键删除数据的完整攻略如下:
1. 实现勾选存储数据
1.1. 勾选框的添加
在DataGridView控件中显示勾选框需要在列头添加一个CheckBox,将DataGridView的列属性的HeaderCell属性设置为DataGridViewCheckBoxColumn类型,示例代码如下:
DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
dataGridView1.Columns.Insert(0, checkBoxColumn);
checkBoxColumn.HeaderText = "勾选";
checkBoxColumn.Name = "checkBoxColumn";
1.2. 获取勾选数据
首先需要定义一个Model来存储DataGridView中每一行数据,然后在勾选框的CellContentClick事件中获取勾选状态,并将勾选的行存储到List
public class Model
{
public bool Checked { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
List<Model> list = new List<Model>();
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex >= 0)
{
bool isChecked = Convert.ToBoolean(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
string name = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[1].Value);
int age = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[2].Value);
if (isChecked)
{
Model model = new Model()
{
Checked = isChecked,
Name = name,
Age = age
};
list.Add(model);
}
else
{
Model model = list.FirstOrDefault(x => x.Name == name && x.Age == age);
list.Remove(model);
}
}
}
1.3. 存储勾选数据
将获取的勾选数据存储到数据库中或者进行其他处理即可。
2. 右键删除数据
2.1. 右键菜单的添加
在DataGridView控件中添加右键菜单需要在DataGridView上添加一个ContextMenuStrip,然后将DataGridView的ContextMenu属性设置为该ContextMenuStrip,示例代码如下:
ContextMenuStrip menuStrip = new ContextMenuStrip();
ToolStripMenuItem deleteItem = new ToolStripMenuItem();
deleteItem.Text = "删除";
deleteItem.Click += new EventHandler(deleteItem_Click);
menuStrip.Items.Add(deleteItem);
dataGridView1.ContextMenuStrip = menuStrip;
2.2. 删除数据
在右键菜单的Click事件中获取选中的行,然后将选中的行从DataGridView中删除,示例代码如下:
private void deleteItem_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
string name = Convert.ToString(row.Cells[1].Value);
int age = Convert.ToInt32(row.Cells[2].Value);
Model model = list.FirstOrDefault(x => x.Name == name && x.Age == age);
list.Remove(model);
dataGridView1.Rows.Remove(row);
}
}
以上就是使用C# DataGridView中实现勾选存储数据和右键删除数据的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# DataGridView中实现勾选存储数据和右键删除数据(示例代码) - Python技术站