Foxtable(狐表)用户栏目专家坐堂 → ListView拖动行报错


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

主题:ListView拖动行报错

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


加好友 发短信
等级:小狐 帖子:312 积分:2519 威望:0 精华:0 注册:2019/7/19 13:09:00
ListView拖动行报错  发帖心情 Post By:2019/12/15 11:43:00 [只看该作者]

ListView拖动行报错
这是窗口启动代码
Dim tday As Date = Date.Today
Dim fl As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
fl.DeleteCommand.Enabled = False
fl.AddCommand.Enabled = False
fl.ClearCommand.Enabled = False

Dim lvw1 As WinForm.ListView = e.Form.Controls("ListView1") '员工列表
Dim lvw2 As WinForm.ListView = e.Form.Controls("ListView2") '活动一参与者列表
Dim lvw3 As WinForm.ListView = e.Form.Controls("ListView3") '活动二参与者列表
Dim lvw4 As WinForm.ListView = e.Form.Controls("ListView4") '活动二参与者列表
Dim lvw5 As WinForm.ListView = e.Form.Controls("ListView5") '活动二参与者列表
Dim lvw6 As WinForm.ListView = e.Form.Controls("ListView6") '活动二参与者列表

Dim lvw8 As WinForm.ListView = e.Form.Controls("ListView8") '活动二参与者列表
Dim lvw9 As WinForm.ListView = e.Form.Controls("ListView9") '活动二参与者列表
Dim lvw10 As WinForm.ListView = e.Form.Controls("ListView10") '活动二参与者列表
Dim lvw11 As WinForm.ListView = e.Form.Controls("ListView11") '活动二参与者列表
Dim lvw12 As WinForm.ListView = e.Form.Controls("ListView12") '活动二参与者列表


Dim lvws() As Winform.ListView = {lvw1,lvw2,lvw3,lvw4,lvw5,lvw6,lvw8,lvw9,lvw10,lvw11,lvw12} '看看我们是怎样批量设置某组控件属性的
For Each lvw As WinForm.ListView In lvws
'lvw.View = ViewMode.Details
 lvw.AllowDrag = True
 lvw.AllowDrop = True
'  lvw.Images.AddSmallImage("Man", "Man.ico") '添加代表男性的一对图标
'  lvw.Images.AddSmallImage("Woman", "Woman.ico") '添加代表女性的一对图标
Next


Dim cls() As String = {"下单日期","设计师","开发品类","打样款号"} '定义列名
Dim wds() As Integer = {130,50,72,85} '定义列宽

Dim cls2() As String = {"下单日期","设计师","开发品类","打样款号","目标样板交期"} '定义列名
Dim wds2() As Integer = {110,50,72,85,80} '定义列宽

Dim cls3() As String = {"下单日期","设计师","开发品类","打样款号","要求成衣日期"} '定义列名
Dim wds3() As Integer = {110,50,72,85,80} '定义列宽

lvw1.StopRedraw() '停止绘制
lvw1.Groups.Clear()
lvw1.Columns.Clear() '清除原来的列
lvw1.Rows.Clear() '清除原来的行
lvw1.Images.Clear() '清除原来的图片
lvw1.View = ViewMode.Details '显示模式为详细信息
For i As Integer = 0 To  cls.Length - 1  '增加列
    Dim c As WinForm.ListViewColumn = lvw1.Columns.Add()
    c.Name = cls(i) '指定列名
    c.Text = cls(i) '指定标题,这里标题和列名相同
    c.Width = wds(i) '指定列宽
Next

For Each zh As String In DataTables("样衣开发").GetValues("开发状态") '增加分组
    Dim grp As WinForm.ListViewGroup = lvw1.Groups.Add()
    grp.Name = zh
    grp.Text = zh & "订单"
Next
Dim drs As List(of DataRow) = DataTables("样衣开发").Select("(开发状态 = '待审核' or 开发状态 = '待分配') and (角色 <> '果壳' or 角色 is null)","下单日期")
For Each dr As DataRow In drs
    Dim r As  WinForm.ListViewRow =  lvw1.Rows.Add() '增加一行
    r.Group = dr("开发状态")  '指定所属分组
    For Each cl As String In cls '逐列取值
        r(cl) = dr(cl)
    Next
    r.Tag = dr
Next
lvw1.ResumeRedraw()

[此贴子已经被作者于2019/12/16 10:29:08编辑过]

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/15 20:22:00 [只看该作者]

报什么错误?

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


加好友 发短信
等级:小狐 帖子:312 积分:2519 威望:0 精华:0 注册:2019/7/19 13:09:00
  发帖心情 Post By:2019/12/16 8:33:00 [只看该作者]

图片显示

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 9:06:00 [只看该作者]


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


加好友 发短信
等级:小狐 帖子:312 积分:2519 威望:0 精华:0 注册:2019/7/19 13:09:00
  发帖心情 Post By:2019/12/16 10:47:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.12.8.1
错误所在事件:窗口,审核申请,ListView3,RowSelectionChanged
详细错误信息:
无法将类型为“System.Windows.Forms.ListViewItem”的对象强制转换为类型“Foxtable.oo_o0_o0”。


截图传不了,这是报错信息
[此贴子已经被作者于2019/12/16 10:47:33编辑过]

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 10:50:00 [只看该作者]

检查这个事件代码,错误所在事件:窗口,审核申请,ListView3,RowSelectionChanged

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


加好友 发短信
等级:小狐 帖子:312 积分:2519 威望:0 精华:0 注册:2019/7/19 13:09:00
  发帖心情 Post By:2019/12/16 11:07:00 [只看该作者]

Dim lvw As WinForm.ListView = e.Form.Controls("ListView2")
Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView的当前行
If vr Is Nothing Then '如果不存在当前行,也就是内有选定任何一行
    Return
End If
Dim dr As DataRow = vr.tag '获取此行对应的DataRow

Dim id As String = dr("_Identify")
Dim Filter As String = "[_Identify] = " & id

Dim pd As Integer = Tables("样衣开发").FindRow(dr)
If pd < 0 Then
DataTables("样衣开发").AppendLoad(Filter)
End If
Dim ps As Integer = Tables("样衣开发").FindRow(dr)
If ps >= 0 Then
    Tables("样衣开发").Position = ps
    Dim fl As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
    fl.DeleteCommand.Enabled = False
fl.AddCommand.Enabled = False
    fl.ClearCommand.Enabled = False
    For Each cl As WinForm.ListViewColumn In lvw.Columns '逐列更新值
        vr(cl.Name) = dr(cl.Name)
    Next
End If

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 11:54:00 [只看该作者]

看不出什么问题。上传实例测试一下

 回到顶部