Visual Studio 2012 c#ListView问题 - 有点奇怪

时间:2016-01-20 03:02:59

标签: c# listview visual-studio-2012

我会尽力解释。

我在visual studio c#表单中有一个ListView,它有一个填充它的函数。当我最近尝试通过添加列来更新ListView时,它只显示了以前填充的列。然后,为了更大的惊喜。当我更改功能文本以填充" old"列有点不同只是为了确保它的工作(比如,添加字符串"测试字符串"到列填充字符串)没有发生任何事情 - 它只是保持旧的方式。在那之后,我完全删除了人口功能体,在括号内没有留下任何东西 - 而listview仍然填充了数据,就像它被称为函数的原始版本一样,即使我刚刚完全删除了它。让我困惑不解。无法谷歌任何类似的东西。更有趣的东西 - 我将一个MessageBox放入函数体中,以确保" new"函数被调用。是的,正在显示MessageBox,因此它实际上接受了该功能的更改。代码显示它:

private void populateMissionList() 
           {
        this.listView1.Items.Clear();
        List<MisijaDTO> misije = MisijaDAO.ocitajSve();

        foreach (MisijaDTO mission in misije) 
        {


            string idmisije = "" + mission.Id;
            ListViewItem stavka = new ListViewItem(idmisije);
            stavka.SubItems.Add(mission.Naziv);  // "old" column
            stavka.SubItems.Add(mission.Datum + " test string"); //"old" column, but won't show newly added "test string"
            if (mission.Uspjesna){
                stavka.SubItems.Add("Uspješna"); // "new" column, won't be shown... 
             MessageBox.Show("282 true"); //... but this text box is shown
            }
            else {stavka.SubItems.Add("Neuspješna");MessageBox.Show("282 false");}
            listView1.Items.Add(stavka);

        }
    }

我最好猜测为什么会发生这种情况 - 我之前已从表单中删除了listView,将其粘贴到另一个表单(我用作备份),然后将其从备份表单中复制并粘贴回原始表单。我认为ListView不知何故被旧函数定义所困,但我无法解决它。试图:重命名ListView,重命名填充函数,清理解决方案,重建解决方案,关闭并重新打开Visual Studio ......没有任何帮助。它也不是数据库问题,因为它会将新的数据库导入读入ListView,但仅限于&#34; old&#34;像它一样的列集不会识别我粘贴的ListView。 ListView名称在剪切/粘贴/复制/粘贴后保留相同,所以我想这也不是问题。

如果您需要更多信息,我很乐意提供。

2 个答案:

答案 0 :(得分:0)

查看填充了Column Collection的.designer.cs文件。您可能需要在其中添加另一列....

答案 1 :(得分:0)

对于那些花费宝贵时间阅读这个主题的人,我有一个很大的道歉。没有任何错误或其他东西,但我忽略了一些与我的功能相关的代码,并且单独列出旧方法。看起来现在一切正常。

这方面的好处是我最终注册了Stack Overflow:)