Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ListView.Refresh';清除';列表视图_C#_Regex_File Io_Directory_Case Insensitive - Fatal编程技术网

C# ListView.Refresh';清除';列表视图

C# ListView.Refresh';清除';列表视图,c#,regex,file-io,directory,case-insensitive,C#,Regex,File Io,Directory,Case Insensitive,我的代码在操作中循环,并向listview控件添加反馈。以前,我的代码工作正常,但今天有些变化 listview控件开始时如下所示: …但在我发出Update()或Refresh()调用后,它不会显示我添加的项,而是呈现如下所示: 此时,控件仍处于启用状态且可见。事实上,我的代码与它的唯一交互就是添加新项和Update() 要添加项目,我将使用以下命令: lvwDrawings.Items.Add(new ListViewItem(new string[] { drawing.Par

我的代码在操作中循环,并向listview控件添加反馈。以前,我的代码工作正常,但今天有些变化

listview控件开始时如下所示:

…但在我发出Update()或Refresh()调用后,它不会显示我添加的项,而是呈现如下所示:

此时,控件仍处于启用状态且可见。事实上,我的代码与它的唯一交互就是添加新项和Update()

要添加项目,我将使用以下命令:

lvwDrawings.Items.Add(new ListViewItem(new string[]
{
    drawing.PartNo,
    drawing.Revision.ToString(),
    drawing.Issue,
    drawing.DrgTypeText,
    errorStatus !=null ? errorStatus : drawing.Status,
    drawing.Filepath
}));

如果我在这里引入了一些问题,我将使用更简单的
lvwDrawings.Items.Add(“test”)进行测试,但结果相同。如果我做一个快速观察,控件会正确地告诉我它包含x个项目…

好的,我发现了问题-由于一些未知的原因,我以前在这里有
lvwDrawings.items.Clear()
要在不同的运行之间清除列表,我不知何故以
lvwDrawings.Clear()
结束。这不仅会清除listview中的项目,还会清除列

有两个方面很奇怪:当我试图添加一个包含特定列的ListViewItem时,如果没有任何列,它会反对它,而且,当我进行更改时,我认为我到底在做什么

适度有趣的转移:

我通过在第一个列表视图下面创建第二个列表视图来发现问题,并一直工作到遇到问题为止。作为该过程的一部分,我在设计中添加了列,其中一列我称为
Path
,设计者并不反对

但是,在代码中,对静态类路径(例如
Path.GetDirectoryName()
)的方法的引用导致错误-“ColumnHeader路径没有方法”xxx“或类似方法。显然,它假设当我引用Path时,我引用的是listview中的列


此外,当我将该列重命名为“FullPath”时,它重命名了代码中对Path的所有引用,例如
FullPath.GetDirectoryName()

听起来像是一个暂时的小故障?尝试重新启动。试着做一个完整的构建。尝试禁用可能影响系统上windows的任何其他程序。您是否更改了任何项目属性?添加任何新的引用?如果创建一个新的空白项目并将代码粘贴到其中,会发生这种情况吗?我尝试重新启动VS,但没有更改。我现在尝试重新启动。发生了许多其他变化,但与此控制无关。我一直在想可能会引起怀疑的更改…您是否尝试过使用lvwDrawings.RedrawItems?创建新的ListViewItem后,新项目是否有任何
null
属性?@Dan-o-不是暂时的小故障-只是我的一个错误。PEBCAK:很好地诊断和解决了您的问题!很高兴看到人们练习他们的调试技能。哦,我的调试技能得到了足够的练习。可悲的是