datagrid中的删除问题

主  题:  datagrid中的删除问题?
作  者:  Firestone2003 ()
等  级:  ^
信 誉 值:  100
所属论坛:  .NET技术 C#
问题点数:  20
回复次数:  8
发表时间:  2003-11-24 21:45:41
int index=this.dataGrid1.CurrentCell.RowNumber;
this.datasetTxl.Tables["txl"].Rows[index].Delete();
try
{
    this.datasetTxl.AcceptChanges();
    this.adapTxl.Update(this.datasetTxl,"txl");
}
catch(Exception ex)
{
    MessageBox.Show(ex.ToString());
}

为什么在数据库中无法删除这条数据啊??
郁闷中!



回复人: liusuccess(减肥成功) ( 一级(初级)) 信誉:95 2003-11-24 22:50:05 得分:1

报错吗?

回复人: HNU(惟楚有材,於斯为盛 !) ( 三级(初级)) 信誉:100 2003-11-24 22:52:36 得分:5

int index=this.dataGrid1.CurrentCell.RowNumber;
this.datasetTxl.Tables["txl"].Rows[index].Delete();
DataSet changes = this.datasetTxl.GetChanges();

try
{
    this.adapTxl.Update(changes);
    this.datasetTxl.AcceptChanges();
}
catch(Exception ex)
{
    MessageBox.Show(ex.ToString());
}

回复人: ssdjmcj8048(优游通[UUT]) ( 四级(中级)) 信誉:100 2003-11-25 2:45:53 得分:5

this.adapTxl.Update(changes)就可以了;DataAdapter默认是会自动AcceptChanges的

回复人: skykevin(蓝屿) ( 三级(初级)) 信誉:100 2003-11-25 8:47:07 得分:3

index=this.dataGrid1.CurrentCell.RowNumber所指的位置不一定和数据集中Table的行一一对应.如:dataGrid1RowNumber=2,对应于Table中行就不一定是2,解决办法之一如下:

CurrencyManager cm;
cm = (CurrencyManager) dataGrid1.Parent.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember]; 
if (cm.Count > 0)
{
    cm.RemoveAt(cm.Position);
}

回复人: Firestone2003() ( 一级(初级)) 信誉:100 2003-11-25 10:52:33 得分:0

大家误会我的意思了!
我的程序不报错,就是执行update后不向数据库修改!
想删除的项没有删!
各位大侠救救我吧!快不行了!

回复人: netpot(netpot) ( 三级(初级)) 信誉:100 2003-11-25 12:27:06 得分:5

this.datasetTxl.AcceptChanges();
this.adapTxl.Update(this.datasetTxl,"txl");
问题就在你先AcceptChange,那么DataTable中所有的DataRow的RowState都变成unchanged,所以,update方法就什么也不执行了,建议你看看帮助中Adpater的更新过程(针对不同的RowState执行不同的操作)
你去掉AcceptChanges就可以执行更新了,而且更新后自动调用AcceptChange。

回复人: HNU(惟楚有材,於斯为盛 !) ( 三级(初级)) 信誉:100 2003-11-25 13:11:19 得分:1

如skykevin(蓝屿)说那样调整对应关系,修改代码如我说应该不会错的

回复人: Firestone2003() ( 一级(初级)) 信誉:100 2003-11-28 18:15:35 得分:0

谢谢大家!netpot(netpot)说的很对

该问题已经结贴 ,得分记录: liusuccess (1)、 HNU (5)、 ssdjmcj8048 (5)、 skykevin (3)、 netpot (5)、 HNU (1)、

Contributors: FHL