怎么在DataGridView实现删除功能 想点DataGridView中显示的一行,然后点删除按钮实现删除求代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没查到啊,老师三节课讲完了C#的 ADO然后就让我们弄那东西,课本也没讲。就是点上需要删除的信息,然后点删除按钮,就把信息删除的代码 private void button1_Click(object sender, EventArgs e) { DataRowView rowView = this.dataGridView1.CurrentRow.DataBoundItem as DataRowView; if (rowView != null) { DataRow currentRow = rowView.Row; //获取主键 string id = currentRow["ID"]; //调用数据库里的删除方法: string sql = "DELETE FROM TABLE_NAME WHERE ID='" + id + "'"; //数据库操作 } } 可以用一下bindingsource控件,作为DataSet和DataGridView的桥,你还可以加上导航控件bindingNavigator,就可以完成数据增减工作了。 if (dataGridViewX1.Rows.Count > 0) { if (dataGridViewX1.CurrentRow != null) { if (dataGridViewX1.SelectedRows.Count == 0) { dataGridViewX1.Rows.Remove(dataGridViewX1.CurrentRow); dt.AcceptChanges();//绑定datagridview的表 } else { try { for (int i = dataGridViewX1.SelectedRows.Count; i > 0; i--) { dataGridViewX1.Rows.RemoveAt(dataGridViewX1.SelectedRows[i - 1].Index); } dt.AcceptChanges();//绑定datagridview的表 } catch (Exception) { MessageBox.Show("无法删除空行!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } } else { MessageBox.Show("请选择删除的行!","提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } else { MessageBox.Show("没有可删除数据!", "提示信息",MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } 读取Datagridview表对应数据主关键ID,然后利用这个ID,执行一次SQL删除操作,再重新绑定datagridview就行了 currentRow 缺少一个强制转换 列表都用右键删除方便些,,//设置右键菜单 private void dgvList_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) { if (e.Button == MouseButtons.Right) { if (e.RowIndex >= 0) { if (dgvList.Rows[e.RowIndex].Selected == false) { dgvList.ClearSelection(); dgvList.Rows[e.RowIndex].Selected = true; } if (dgvList.SelectedRows.Count == 1 && e.ColumnIndex != -1) { dgvList.CurrentCell = dgvList.Rows[e.RowIndex].Cells[e.ColumnIndex]; } dgvList.ContextMenuStrip = contextMenuStrip1; } else { dgvList.ContextMenuStrip = null; return; } } }private void tsmDelete_Click(object sender, EventArgs e) { try { string id= dgvList.SelectedRows[0].Cells["Id"].Value.ToString(); //删除}} 那如何再保存在 名为myschool的数据库中呢? 如何判断一个word,ppt文档是否加密 winform下如何实现控件名称的中英文切换? c#gdi如何让圆在屏幕上随机移动,当圆接触到边缘时就改变方向 C# 16进制 关于留言板插入留言的代码问题? Ajax ScriptManager 网页存在错误 谁能介绍一本好的c#多线程的书给我啊? 请问:求一个简单的js脚本! 使用C#读写注册表 NotifyIcon控件设置一个透明ico,但是显示的图标是黑色的 求大神帮写个正则呗 winfrm登陆网站问题
private void button1_Click(object sender, EventArgs e)
{
DataRowView rowView = this.dataGridView1.CurrentRow.DataBoundItem as DataRowView;
if (rowView != null)
{
DataRow currentRow = rowView.Row; //获取主键
string id = currentRow["ID"];
//调用数据库里的删除方法:
string sql = "DELETE FROM TABLE_NAME WHERE ID='" + id + "'";
//数据库操作
}
}
{
if (dataGridViewX1.CurrentRow != null)
{
if (dataGridViewX1.SelectedRows.Count == 0)
{
dataGridViewX1.Rows.Remove(dataGridViewX1.CurrentRow);
dt.AcceptChanges();//绑定datagridview的表
}
else
{
try
{
for (int i = dataGridViewX1.SelectedRows.Count; i > 0; i--)
{
dataGridViewX1.Rows.RemoveAt(dataGridViewX1.SelectedRows[i - 1].Index);
}
dt.AcceptChanges();//绑定datagridview的表
}
catch (Exception)
{ MessageBox.Show("无法删除空行!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
}
else
{
MessageBox.Show("请选择删除的行!","提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}
else
{
MessageBox.Show("没有可删除数据!", "提示信息",MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
//设置右键菜单 private void dgvList_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (e.RowIndex >= 0)
{ if (dgvList.Rows[e.RowIndex].Selected == false)
{
dgvList.ClearSelection();
dgvList.Rows[e.RowIndex].Selected = true;
}
if (dgvList.SelectedRows.Count == 1 && e.ColumnIndex != -1)
{
dgvList.CurrentCell = dgvList.Rows[e.RowIndex].Cells[e.ColumnIndex];
}
dgvList.ContextMenuStrip = contextMenuStrip1;
} else
{
dgvList.ContextMenuStrip = null;
return;
}
}
}private void tsmDelete_Click(object sender, EventArgs e)
{
try
{
string id= dgvList.SelectedRows[0].Cells["Id"].Value.ToString();
//删除
}
}