Foxtable(狐表)用户栏目专家坐堂 → ListView点击表头会出错


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

主题:ListView点击表头会出错

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


加好友 发短信
等级:童狐 帖子:248 积分:2230 威望:0 精华:0 注册:2020/6/28 8:43:00
ListView点击表头会出错  发帖心情 Post By:2021/11/12 7:49:00 [只看该作者]

做了一个ListView,每次切换会刷新一下,显示项目下的文件。

正常切换项目没有问题,但是如果点击表头会出错。
见图片演示。


图片点击可在新窗口打开查看此主题相关图片如下:2.gif
图片点击可在新窗口打开查看


有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.ArgumentOutOfRangeException: InvalidArgument=“1”的值对于“index”无效。
参数名: index
   在 System.Windows.Forms.ListViewItem.ListViewSubItemCollection.get_Item(Int32 index)
   在 UserCode.ListViewColumnSorter.Compare(Object x, Object y)
   在 System.Windows.Forms.ListView.CompareFunc(IntPtr lparam1, IntPtr lparam2, IntPtr lparamSort)
   在 System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   在 System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   在 System.Windows.Forms.Control.DefWndProc(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ListView.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 已加载的程序集 **************
mscorlib
    程序集版本:4.0.0.0
    Win32 版本:4.8.4420.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Foxtable
    程序集版本:2021.5.29.1
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
Foxtable.Lib
    程序集版本:2021.4.20.1
    Win32 版本:2021.04.20.1
    基本代码:file:///D:/foxtable/Professional/Foxtable.Lib.DLL
----------------------------------------
Microsoft.VisualBasic
    程序集版本:10.0.0.0
    Win32 版本:14.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Windows.Forms
    程序集版本:4.0.0.0
    Win32 版本:4.8.4400.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    程序集版本:4.0.0.0
    Win32 版本:4.8.4360.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    程序集版本:4.0.0.0
    Win32 版本:4.8.4390.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
C1.Win.C1Ribbon.4
    程序集版本:4.0.20191.359
    Win32 版本:4.0.20191.359
    基本代码:file:///D:/foxtable/Professional/C1.Win.C1Ribbon.4.DLL
----------------------------------------
System.Configuration
    程序集版本:4.0.0.0
    Win32 版本:4.8.4190.0 built by: NET48REL1LAST_B
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    程序集版本:4.0.0.0
    Win32 版本:4.8.4390.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Interop.JinDI_SmsComLib
    程序集版本:1.0.0.0
    Win32 版本:1.0.0.0
    基本代码:file:///D:/foxtable/Professional/Interop.JinDI_SmsComLib.DLL
----------------------------------------
System.Data
    程序集版本:4.0.0.0
    Win32 版本:4.8.4270.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
C1.Win.C1Command.4
    程序集版本:4.0.20191.359
    Win32 版本:4.0.20191.359
    基本代码:file:///D:/foxtable/Professional/C1.Win.C1Command.4.DLL
----------------------------------------
System.Numerics
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Data.resources
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Data.resources.dll
----------------------------------------
System.Transactions
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Management
    程序集版本:4.0.0.0
    Win32 版本:4.8.4435.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
C1.Win.C1Themes.4
    程序集版本:4.0.20183.338
    Win32 版本:4.0.20183.338
    基本代码:file:///D:/foxtable/Professional/C1.Win.C1Themes.4.DLL
----------------------------------------
C1.Win.4
    程序集版本:4.0.20191.359
    Win32 版本:4.0.20191.359
    基本代码:file:///D:/foxtable/Professional/C1.Win.4.DLL
----------------------------------------
C1.C1Zip.4
    程序集版本:4.0.20183.338
    Win32 版本:4.0.20183.338
    基本代码:file:///D:/foxtable/Professional/C1.C1Zip.4.DLL
----------------------------------------
Accessibility
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
C1.Win.C1FlexGrid.4
    程序集版本:4.0.20191.359
    Win32 版本:4.0.20191.359
    基本代码:file:///D:/foxtable/Professional/C1.Win.C1FlexGrid.4.DLL
----------------------------------------
C1.Win.C1Input.4
    程序集版本:4.0.20191.359
    Win32 版本:4.0.20191.359
    基本代码:file:///D:/foxtable/Professional/C1.Win.C1Input.4.DLL
----------------------------------------
Foxtable.Blank
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
Interop.MSScriptControl
    程序集版本:1.0.0.0
    Win32 版本:1.0.0.0
    基本代码:file:///D:/foxtable/Professional/Interop.MSScriptControl.DLL
----------------------------------------
Foxtable.Ribbon
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
System.Web
    程序集版本:4.0.0.0
    Win32 版本:4.8.4330.0 built by: NET48REL1LAST_B
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
mscorlib.resources
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
TSF
    程序集版本:1.0.0.0
    Win32 版本:1.0.0.0
    基本代码:file:///D:/foxtable/Professional/TSF.DLL
----------------------------------------
恒易源项目总表.Project
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.DataTable.AZo5sGIqNMhC7QuZN
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.DataTable.AdSHYzS0gPkpk2dGr
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.DataTable.AwrYcfRBloe35AXnt
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.DataTable.AMSPAm9OqJMkvMoqY
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.DataTable.AQMxoartRLM4WsFe9
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.DataTable.Am7U5QTddOTHNAng0
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.Function
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.Ribbon
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.Public
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.Form.f2d7574c
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
Neodynamic.WinControls.BarcodeProfessional
    程序集版本:10.0.2000.0
    Win32 版本:10.0.2018.508
    基本代码:file:///D:/foxtable/Professional/Neodynamic.WinControls.BarcodeProfessional.DLL
----------------------------------------
C1.Win.C1Chart.4
    程序集版本:4.0.20191.359
    Win32 版本:4.0.20191.359
    基本代码:file:///D:/foxtable/Professional/C1.Win.C1Chart.4.DLL
----------------------------------------
Foxtable.Blank
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
Foxtable.Ribbon
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
System.Windows.Forms.resources
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
r5jx4pik
    程序集版本:0.0.0.0
    Win32 版本:4.8.4360.0 built by: NET48REL1LAST_C
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
恒易源项目总表.Function
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
System.resources
    程序集版本:4.0.0.0
    Win32 版本:4.8.4084.0 built by: NET48REL1
    基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.resources.dll
----------------------------------------
恒易源项目总表.Form.d08187e9
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.Form.c792c894
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.Form.c792c894
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------
恒易源项目总表.Form.c792c894
    程序集版本:0.0.0.0
    Win32 版本:2021.05.29.1
    基本代码:file:///D:/foxtable/Professional/foxtable.exe
----------------------------------------

************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。

例如:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试程序,
而不是由此对话框处理。



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


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

请贴出具体代码,或者上传实例测试

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


加好友 发短信
等级:童狐 帖子:248 积分:2230 威望:0 精华:0 注册:2020/6/28 8:43:00
  发帖心情 Post By:2021/11/12 8:55:00 [只看该作者]

Dim ftp As new FTPClient
ftp.Host = *****
ftp.Account = *************
ftp.Password = *********
ftp.Port =******
Dim tx As String
For Each c1 As WinForm.Control In Forms("FTP管理器2").Controls
    If Typeof c1 Is WinForm.RadioButton Then '判断控件类型
        Dim tn As WinForm.RadioButton = c1 '使用特定类型的变量引用控件
        If tn.Checked = True Then
            tx  = tn.Name
        End If
    End If
Next
Dim path As String = "\" & Tables("项目总表").Current("年份") & "\" & Tables("项目总表").Current("项目编号") & "\" & tx

Dim lvw As WinForm.ListView = Forms("FTP管理器2").controls("ListView1")
Dim ha As Integer = lvw.Position
lvw.Font = New Font("宋体",12)'设置字体型号与大小
lvw.StopRedraw() '停止绘制
lvw.Groups.Clear() '清除原来的分组
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Details '显示模式为详细信息
lvw.Images.LargeSize = new size(32,32)
Dim  ics As String() = {"swf","accdb","mdb","psd","png","xls","xlsx","bmp","rar","jpg","doc","docx","zip","pdf","txt","ppt","pptx","exe","other","dwg","prt","SLDPRT","dxf","eml","stp","step","igs","x_t"}  '定义扩展名数组
Dim kzms As String ="swf accdb mdb psd png xls xlsx bmp rar jpg doc docx zip pdf txt ppt pptx exe dwg prt SLDPRT dxf eml stp step igs x_t"  '定义已知扩展名的文本串
For Each ic As String In ics
    lvw.Images.AddImage(ic,ic & ".png",ic & ".png")  '向listview里添加图标
Next

Dim cls() As String = {"序号","文件名称","图档上传日期","大小"} '定义列名
Dim wds() As Integer = {50,350,180,150} '定义列宽

For i As Integer = 0 To  cls.Length - 1  '增加列
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
    c.Name = cls(i) '指定列名
    c.Text = cls(i) '指定标题,这里标题和列名相同
    c.Width = wds(i) '指定列宽
Next
Dim dls As List(of String)
dls = ftp.GetDetailList(path)
If dls.Count < = 0 Then
    Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    r("文件名称") = "暂时没有文件"
Else
    Dim dics As new SortedDictionary(Of String, String)
    For Each dl As String In dls
        Dim Parts() As String = dl.Split("*")
        dics.Add(Parts(1) & dl, dl)
    Next
    Dim arr(dics.keys.count-1) As String
    dics.keys.copyto(arr,0)
    
    For i As Integer = arr.length - 1 To 0 Step -1
        Dim dl As String = dics(arr(i))
        Dim Parts() As String = dl.Split("*")
        Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
        Dim Dot As Integer = parts(0).LastIndexOf(".")  '定义.的位置
        Dim kzm As String = parts(0).SubString(Dot + 1)   '获取扩展名
        If kzms.Contains(kzm) = True Then   '若为已知扩展名
            r.ImageKey = kzm  '指定行的图标键值
        Else
            r.ImageKey = "other"
        End If
        r("序号") = i+1
        r("文件名称") = Parts(0)
        r("图档上传日期") = Parts(1)
        If parts(2) >1024 Then
            r("大小") = format(parts(2)/1048576,"0.0") & "MB"
        Else
            r("大小") = Parts(2)& "B"
        End If
    Next
End If
'If lvw.Position < 0 Then
    'lvw.Position = 0
'Else
    'lvw.Position = ha
'End If

lvw.ResumeRedraw() '恢复绘制

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


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

什么地方的代码?上一个项目?点击表头有没有执行什么代码?listview控件有没有使用了什么事件,代码都发上来

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


加好友 发短信
等级:童狐 帖子:248 积分:2230 威望:0 精华:0 注册:2020/6/28 8:43:00
  发帖心情 Post By:2021/11/12 10:01:00 [只看该作者]

点表头没有代码执行。

我点上一项目,下一项目,会刷新一下 LISTVIEW 

刷新 LISTVIEW的全部代码已经贴出来了

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


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

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看执行到哪一句代码出错。

1楼的提示意思是使用了不存在的列,使用到的列名不对,或者列索引不对

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


加好友 发短信
等级:童狐 帖子:248 积分:2230 威望:0 精华:0 注册:2020/6/28 8:43:00
  发帖心情 Post By:2021/11/17 22:57:00 [只看该作者]

图片点击可在新窗口打开查看找到出错的行是从这里起的。想不明白。我不点表头排序,切换项目时是不会出错的,但是点了表头,切换项目就会出错。
[此贴子已经被作者于2021/11/17 23:00:48编辑过]

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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/18 9:05:00 [只看该作者]

请做个例子发上来测试一下吧

 回到顶部