C# DataGridView删除行问题 在DataGridView里绑定dataset数据,通过DataGridView.SelectedRows[0].Index获得选中行的行号删除行,但是在DataGridView里删除行后,在更新数据库前,dataset里的行没有删除,因此行号与DataGridView的不一样,这个时候再次删除行就会删错,这个该怎么办 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你怎么删?不会是删dataset里面的吧?获取ID后,则行数据库语句,然后再绑定一下就行了 直接删除dataset 里面的就行了。 DataRowView drv = dataGridView1.Rows[e.RowIndex].DataBoundItem as DataRowView;drv.Delete();使用DataBoundItem 获得datagridview在dataset中的实际行,直接删除 我没有绑定数据才这样的,还有就是执行DataGridView.DataSource = DataSet.Tables["BookInformation"]; DataRowView drv = DataGridView.SelectedRows[0].DataBoundItem as DataRowView;drv.Delete(); 后,删除了所有的数据是为什么啊 if(DialogResult.Yes ==MessageBox.Show("确定删除?","提问",MessageBoxButtons.YesNo,MessageBoxIcon.Question ,MessageBoxDefaultButton.Button1 )) { dsCourse.Tables ["student"].Rows [this.BindingContext [stu_num,"student"].Position ].Delete (); sqlDataAdapter.Update(stu_num,"student"); SetState(true); MessageBox.Show("删除数据成功!"); } int rowindex = this.dataGridViewitem.CurrentRow.Index; //第一步要获取选中的行 itemmodel.Code = int.Parse(this.dataGridViewitem[1, rowindex].Value.ToString()); //获取选中行的第一个单元格值作为你删除语句的where条件 DialogResult dr = MessageBox.Show("你确定要删除知识点编号为" + itemmodel.Code + "的信息吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dr == DialogResult.Yes) { if (itembll.DeleteItemcode(itemmodel)) //删除成功 { //刷新datagridview ItemdataGridView(); } else { MessageBox.Show("删除失败!"); } } 你删除的是DATASET里面的,只是把结果集中给删除了。得重新邦定啊!这样重新指向一下啦! 解决了,DataGridView绑定dataset后(DataGridView.SelectedRows[0].DataBoundItem as DataRowView).Row.Delete();就可以了 运行项目出错,麻烦有经验的看看 请问c++中指向结构的指针在c#中怎么表示啊? C#的treeView中,怎样定位要进行查找的某一节点 齐次方程非零解构成的基础解系怎么求啊 C#的抽象类能否定义变量? 如何通过一个value值获取到它所在的行号? 简单OR难? 强类型数据集如何绑定text 如何通过点击按钮以相对路径调用exe? 急问:选择文件夹的对话框 ! 问题请教。 询问几个关于DevExpress.XtraGrid.Views.Grid.GridView的问题
drv.Delete();使用DataBoundItem 获得datagridview在dataset中的实际行,直接删除
DataGridView.DataSource = DataSet.Tables["BookInformation"];
DataRowView drv = DataGridView.SelectedRows[0].DataBoundItem as DataRowView;
drv.Delete();
后,删除了所有的数据是为什么啊
{
dsCourse.Tables ["student"].Rows [this.BindingContext [stu_num,"student"].Position ].Delete ();
sqlDataAdapter.Update(stu_num,"student");
SetState(true);
MessageBox.Show("删除数据成功!");
}
int rowindex = this.dataGridViewitem.CurrentRow.Index; //第一步要获取选中的行 itemmodel.Code = int.Parse(this.dataGridViewitem[1, rowindex].Value.ToString()); //获取选中行的第一个单元格值作为你删除语句的where条件 DialogResult dr = MessageBox.Show("你确定要删除知识点编号为" + itemmodel.Code + "的信息吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
if (itembll.DeleteItemcode(itemmodel)) //删除成功
{
//刷新datagridview
ItemdataGridView();
}
else
{
MessageBox.Show("删除失败!");
}
}
(DataGridView.SelectedRows[0].DataBoundItem as DataRowView).Row.Delete();
就可以了