首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

DataGrid删除行的有关问题

2011-12-23 
DataGrid删除行的问题我的方法哪下:1.首先, asp:datagrid.....OnDeleteCommand Grid_DeleteOrder ;

DataGrid删除行的问题
我的方法哪下:
1.首先, <asp:datagrid   .....       OnDeleteCommand= "Grid_DeleteOrder "   > ;
记录ID: <asp:BoundColumn   Visible= "True "   DataField= "MainID "> </asp:BoundColumn> ,这是第一列。
删除按钮: <asp:ButtonColumn   Text= "删除 "   CommandName= "Delete "> </asp:ButtonColumn>

2.然后,在Grid_DeleteOrder()事件中:
得到ID:MainID   =   e.Item.Cells[0].Text   ;
执行删除sql,删除语句没有问题。

3.系统环境:.net1.1。

现在的问题是:
在win2000   Server下,运行正常,可正常删除。
但是在win2003下,也能删除成功,但是经常会删除到别的行,有50%的可能吧,记录越少比如说不分页的情况下,基本上都删除正常,分页多的话,即出现异常。

请教:
1.问题出在哪里?有可能和分页有关。
2.和系统环境有关吗?

盼复,不胜感激。


[解决办法]
问题出在你代码写错了。。。

把代码贴全。。。不要动不动就怪罪系统。
[解决办法]
你的问题和系统没有任何关系,删除行要进行判断,如果是最后一页并且是最后一行时,就要将当前页的索引减1.
[解决办法]
lz硬要这样认为。。。那也没办法了。。。
[解决办法]
e.Item.Cells[0].Text
[解决办法]
很明白, LZ 的代码逻辑上有问题, 细节检查, 调试跟踪
[解决办法]
拿代码来说话更客观些,否则妄加猜测毫无意义

就目前而言根据e.Item.Cells[0].Text判断删除内容可能不是一个好办法
[解决办法]
如果你的 MainID 是 PK 的话,这样去删除记录是没有问题的。
跟踪一下每次执行删除的时候,得到的 MainID 是否就是你所想要删除的记录的 MainID?
[解决办法]
汗 。。。。
[解决办法]
好象是页面 回送了,试下IsPostBack
[解决办法]
MainID不唯一?
[解决办法]
Convert.toInt32(e.Item.Cells[0].Text)试试
[解决办法]
这个dgTeacher_DeleteCommand才是删除事件吧?
[解决办法]
lz可以测试下,是否是删错了???

看逻辑和代码都没问题


Datagrid删除后,重新绑定了,lz可能没看清楚
[解决办法]
根据你的说明,1 建议你先改动下代码,记录一下删除的时候前后数据库的信息,记录下当初的e.item.*****那个里面的内容(写入到文本文件或者数据库的临时表)。2 建议你还是用datakeyfield这个属性以及其相关去datakey的方法。3 既然有的系统正常,那么首先你得确定系统没问题,这样你得将该系统的最新补丁以及vs的补丁打全了。这样排除硬件问题,再来看看是否是软件的问题
[解决办法]
招聘2--4Y ASP.NET工程师,有朋友的话麻烦推荐下吧.
MSN:lin830413@hotmail.com
有软件测试的朋友也推荐给我哦,谢谢
[解决办法]
如果是使用DataGrid自带的删除功能就在DataGrid1_DeleteCommand事件中写代码。
[解决办法]
打个断点调试一下。
[解决办法]
删除后得新绑定。
[解决办法]
下面是我的代码,提供参考:
<asp:ButtonColumn Text= "&lt;div id=&quot;de&quot; onclick=&quot;JavaScript:return confirm( '确定删除该学生吗? ')&quot;&gt;删除&lt;/div&gt; "
HeaderText= "操作 " CommandName= "Delete "> </asp:ButtonColumn>




.cs:
string strStudent = "delete from MAG_STUDENT where MS_ID= ' "+Convert.ToInt32(e.Item.Cells[0].Text.ToString())+ " ' ";//删除学生
bool blOk1=sql.ExecuteSql(strStudent);
[解决办法]
最简单的办法
1、把ID那一列显示出来
2、对照数据库看看ID值和数据库里的是否一样
3、设置断点,删除的时候看看获取的ID是否和预期的一样?
[解决办法]
应该跟你的postback的使用有关系,lz检查一下是不是有分页的情况下删除的都是第一页对应的记录。
跟环境肯定不会有关系。

热点排行