c#中 , 我用 dataGridView1控件把access中的数据显示出来了!,,现在 我 想用一个删除其中一行怎么操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#中 , 我用 dataGridView1控件把access中的数据显示出来了!,,现在 我 想用一个删除其中一行怎么操作相关的知识,希望对你有一定的参考价值。

求具体代码,明天交作业!新手啊!被逼无奈!i!,,是用一个按钮点击实现删除!另外想修改其中一个 空格里面的数据怎么弄哦,(还是再设置个按钮)

更新和删除的操作,请参考,有问题可联系

public partial class Form1: Form

private SqlDataAdapter dataAdapter; // 数据适配器
private DataSet dataSet; // 数据集
private SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=northwind");
public Form1()

InitializeComponent();


// 窗体加载时,填充数据集
private void Form1_Load(object sender, EventArgs e)

BindProductList();


private void BindProductList()

// 查询数据库用的 SQL 语句
string sql = "select * from products";
// 创建数据集对象
dataAdapter = new SqlDataAdapter(sql, conn);
// 创建数据集对象
dataSet = new DataSet("MySchool");

// 填充数据集
dataAdapter.Fill(dataSet, "Products");

// 指定 DataGridView 的数据源
dataGridView1.DataSource = dataSet.Tables["Products"];


// 关闭窗体
private void btnClose_Click(object sender, EventArgs e)

this.Close();


// 把修改过的数据提交到数据库
private void btnUpdate_Click(object sender, EventArgs e)

// 向用户确认操作
DialogResult result = MessageBox.Show("确实要保存修改吗?","操作提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);

if (result == DialogResult.Yes)

// 自动生成用于更新的命令
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);

// 将数据集中修改过的数据,提交到数据库
dataAdapter.Update(dataSet, "Products");



// 重新填充数据集
private void btnReFresh_Click(object sender, EventArgs e)

// 清空原来表中的数据
dataSet.Tables["Products"].Clear();
// 填充数据集
dataAdapter.Fill(dataSet, "Products");


private void btnDelete_Click(object sender, EventArgs e)

if (dataGridView1.CurrentRow == null || dataGridView1.CurrentRow.IsNewRow)

MessageBox.Show("未选中行", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);


if (dataGridView1.CurrentRow.Index < 0)

MessageBox.Show("未选中行", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);


int productid = Convert.ToInt32(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value);

//MessageBox.Show(productid.ToString());
//根据产品id进行删除,这总该自己写了吧

//重新绑定数据
BindProductList();
参考技术A 删除你绑定的集合里的那条数据,然后重新绑定这个集合 参考技术B 还真有高人回答啊?厉害啊....学习

C# winform datagridview中如何实现鼠标右键点击一行数据出现一个带有删除的菜单,并能执行删除操作?

请高手指教。谢谢!

这是两个属性,点击一行是将其selectionMode属性设为FullRowSelect可以实现选定一行!!而出现鼠标右键是使用的contentmenustrip控件,将datagridview的contentmenustrip属性值绑定到该控件上即可!至于删除菜单可以在contentmenustrip控件中添加!! 参考技术A 首先在程序中添加一个ContexMenuStrip1控件,给该控件添加删除项,
把 datagridview的ContexMenuStrip属性项绑定为你所添加的ContexMenuStrip1控件,然后就是你自己编写程序来操作删除具体的东西了本回答被提问者采纳
参考技术B 在MouseDown 事件里面写:
private void KnowledgedataGridView_MouseDown(object sender, MouseEventArgs e)

if (e.Button == MouseButtons.Right) //判断是不是右键

Control control = new Control();

Point ClickPoint = new Point(e.X, e.Y);
control.GetChildAtPoint(ClickPoint);

if (KnowledgedataGridView.HitTest(e.X, e.Y).RowIndex >= 0 && KnowledgedataGridView.HitTest(e.X, e.Y).ColumnIndex >= 0)//判断你点的是不是一个信息行里

KnowledgedataGridView.CurrentCell = KnowledgedataGridView.Rows[KnowledgedataGridView.HitTest(e.X, e.Y).RowIndex].Cells[KnowledgedataGridView.HitTest(e.X, e.Y).ColumnIndex];
ContextMenu con = new ContextMenu();
MenuItem menuAddknowledge = new MenuItem("添加知识点");
MenuItem menuLine1 = new MenuItem("-");
MenuItem menuUpdateknowledge = new MenuItem("修改修改知识点");
MenuItem menuLine2 = new MenuItem("-");
MenuItem menuDeleteknowledge = new MenuItem("删除知识点");

menuAddknowledge.Click += new EventHandler(tSButAdd_Click);
menuUpdateknowledge.Click += new EventHandler(tSButUpdate_Click);
menuDeleteknowledge.Click += new EventHandler(tSButDel_Click);

con.MenuItems.Add(menuAddknowledge);
con.MenuItems.Add(menuLine1);
con.MenuItems.Add(menuUpdateknowledge);
con.MenuItems.Add(menuLine2);
con.MenuItems.Add(menuDeleteknowledge);

this.KnowledgedataGridView.ContextMenu = con;
con.Show(KnowledgedataGridView, new Point(e.X + 10, e.Y));


以上是关于c#中 , 我用 dataGridView1控件把access中的数据显示出来了!,,现在 我 想用一个删除其中一行怎么操作的主要内容,如果未能解决你的问题,请参考以下文章

C# dataGridView1 重置背景颜色?

C# winform datagridview如何计算统计

c# datagridview控件如何修改行高

C#中DataGridView控件绑定数据源有几种方式?

C# dataGridview控件,怎么获取行数。

C#编写的一个界面 怎样实现dataGridView1里的内容在上面显示?