Foxtable(狐表)用户栏目专家坐堂 → [求助]listview


  共有4767人关注过本帖树形打印复制链接

主题:[求助]listview

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 14:29:00 [显示全部帖子]

 你做的东西,发上来看看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 14:51:00 [显示全部帖子]

以下是引用yjwcj在2014-8-20 14:47:00的发言:

刚刚把项目其它全部去除,又能正常.

是不是哪边有冲突?

 

你看看你在DataRowDeleting 或者 DataRowDeleted 事件是否写了什么代码导致了出错。

 

没有例子不好分析。

[此贴子已经被作者于2014-8-20 14:50:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 14:53:00 [显示全部帖子]

 再有一个就是,你的外部表是不是有 不是用_Identify做主键的情况?

 

 主键问题也有可能导致出错。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 15:05:00 [显示全部帖子]

 出错的例子或项目发上来。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 15:16:00 [显示全部帖子]

 呃,请把你对应的数据库,全部发上来。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 16:27:00 [显示全部帖子]

 测试了一下

 

1、删除问题,对于Locked的行,锁定的行,是无法删除的,你得解锁;

 

2、修改问题,locked的行,无法修改;没有locked的行,可以修改和保存

 

 解锁的方法 dr.Locked = False


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 16:37:00 [显示全部帖子]

如果是删除,放在删除行之前

 

dr.Locked = False


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 16:40:00 [显示全部帖子]

删除

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")

Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView中选定的行

If vr Is Nothing Then '如果不存在当前行,也就是内有选定任何一行

    Return

End If

Dim dr As DataRow = vr.tag '获取此行对应的DataRow

dr.Locked = False

dr.Delete '从DataTable删除行

vr.Delete '从ListView删除行

修改

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")

Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView的当前行

If vr Is Nothing Then '如果不存在当前行,也就是内有选定任何一行

    Return

End If

Dim dr As DataRow = vr.tag '获取此行对应的DataRow

dr.Locked = False

Dim ps As Integer = Tables("客户信息").FindRow(dr)

If ps >= 0 Then

    Tables("客户信息").Position = ps

    Forms("客户维护").Open()

    For Each cl As WinForm.ListViewColumn In lvw.Columns '逐列更新值

        vr(cl.Name) = dr(cl.Name)

    Next

End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 16:51:00 [显示全部帖子]

 呃,我测试使用你的【客户信息】窗口没有问题。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/20 16:53:00 [显示全部帖子]

 我直接测试时没有问题,有可能是,你把某一行删除了,但你的ListView还有这一行记录,再点一次删除,就肯定是会报错的。

 回到顶部
总数 13 1 2 下一页