[英]ListView Items not showing in ListView and columns disappear
我在WinForm的選項卡控件中有一個ListView。 首次加載表單時,我可以按預期看到所有標題:
我用ListView的詳細信息填充ListView:
string[] fileEntries = Directory.GetFiles(trNode.Tag.ToString(), "*.*", SearchOption.TopDirectoryOnly);
int fileNo = 1;
foreach (string fileName in fileEntries)
{
FileInfo oFileInfo = new FileInfo(fileName);
ListViewItem lvi = new ListViewItem(new string[] { fileNo.ToString(), oFileInfo.Name, oFileInfo.Extension, oFileInfo.Length.ToString(), oFileInfo.CreationTime.ToString() });
lvFiles.Items.Add(lvi);
fileNo++;
}
表單加載后,列標題已消失,沒有項目顯示。
我沒有代碼來更改ListView或任何容器的可見性。 正如您在加載后可以看到的那樣,ListView有一個滾動條,我猜這個滾動條沒有隱藏。
任何建議都是最受歡迎的!
UPDATE
listview Items.Count告訴我listview中有項目。 更奇怪的是,如果我將視圖更改為SmallIcons,我會看到它們,在詳細信息視圖中它們會消失! 如果我打破代碼並查看項目,他們在所有正確的位置使用正確的數據看起來很好!
這個問題的答案非常令人尷尬! 你可能會說一個男生錯誤。
例程中的一行代碼清除了我錯過了重要元素的形式。
lvFiles.Clear();
這顯然清除了包括標題在內的所有內容,我將其更改為lvFiles.Items.Clear();
這是我尋找的第一件事,不敢相信我錯過了它。 :(
這樣的事情怎么樣?
string[] fileEntries = Directory.GetFiles(trNode.Tag.ToString(), "*.*", SearchOption.TopDirectoryOnly);
int fileNo = 1;
int ctr = 0
foreach (string fileName in fileEntries)
{
FileInfo oFileInfo = new FileInfo(fileName);
lvFiles.Items.Add(fileNo.ToString());
lvFiles.Items[ctr].SubItems.Add(oFileInfo.Name);
lvFiles.Items[ctr].SubItems.Add(oFileInfo.Extension);
lvFiles.Items[ctr].SubItems.Add(oFileInfo.Length.ToString());
lvFiles.Items[ctr].SubItems.Add(oFileInfo.CreationTime.ToString());
fileNo++;
ctr++;
}
希望能幫助到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.