我的代码是这样的 //这段代码有问题
string str = this.dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[1].Value.ToString();
string delete = "delete from jbxx where gh='"+str+"'";
data(delete);理论上应该这样没错啊,如果我有三行数据的话,我选中第二行数据,然后点删除,结果删除的是第三行的,不明白问题出在哪里
string str = this.dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[1].Value.ToString();
string delete = "delete from jbxx where gh='"+str+"'";
data(delete);理论上应该这样没错啊,如果我有三行数据的话,我选中第二行数据,然后点删除,结果删除的是第三行的,不明白问题出在哪里
解决方案 »
- MonthCalendar控件可不可以让它折叠起来
- .net单机版程序怎么加密?(高手来啊。)
- 一个初学者刚用VS2005遇到的简单问题
- 请问 SqlDataReader 和 SqlDataAdaper 用法区别在那里
- 杭州英资企业高薪招聘Oracle, Java, C#/C++人才,去新加坡,英国工作机会
- 请问这几个是什么控件
- c#实现SQL的企业管理器的解决方案
- .NET C# 讲解Debug 方面的书
- Rational Rose是否有C#的link?
- 数据库添加记录问题!大家帮忙看看这是怎么回事!(帮up也有分,在线等)
- 移位运算符,如何表达N/7的逻辑?
- C# new运算符和C++ new运算符的 区别
在这里下断点,观察dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[1].Value是什么。
string str1 = this.dataGridView1.Rows[0].Cells[1].Value.ToString();
我的理解应该第1行,第2列的值啊,但是为什么是第2行,第2列的值
{
DataRowView m = dataGridView1.SelectedRows[i-1].DataBoundItem as DataRowView;
m.Delete();
//这段代码有问题
string str = this.dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[1].Value.ToString();
string str1 = this.dataGridView1.SelectedRows[i].Cells[1].Value.ToString();
string delete = "delete from jbxx where gh='"+str+"'";
data(delete);
}
{
string str = this.dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[1].Value.ToString();
string str1 = this.dataGridView1.SelectedRows[i].Cells[1].Value.ToString();
string delete = "delete from jbxx where gh='"+str+"'";
data(delete);
//代码的先后顺序换一下 DataRowView m = dataGridView1.SelectedRows[i-1].DataBoundItem as DataRowView;
m.Delete();
}
思路:你之前绑定DataGridView时,也把数据表中ID这列的值绑定上去,显示的时候可以将其隐藏。在你需要删除的时候,直接取出ID这列的值,然后删除,最后再重新绑定,就OK了。参考代码:
int id = int.prase(this.datagridview.Row[""].Cells[""].value.ToString());
.....
删除数据
.......
重新绑定
DataGridView1.Rows.RemoveAt(selectrow);