Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

winforms listview not showing items in detailsview

i'm stuck....

this my code to add items to my listview:

ListViewItem item = new ListViewItem(ProjectDomainName);
item.Tag = relatedProject.ProjectId;
lvwSelectedProjects.Items.Add(item);

when i choose 'View.List' as viewmode, i see all items.

When i choose 'View.Details' (which is the setting that i want) i see.... nothing. Well, nothing, i DO get a vertical scrollbar, but no items. And i can scroll too, but no items....

I also added a column in the listview (didn't change the add items code), but that also didn't work

i must be overlooking something?

like image 929
Michel Avatar asked Aug 22 '11 11:08

Michel


People also ask

What is a ListView subitem?

The Windows Forms ListView control can display additional text, or subitems, for each item in the Details view. The first column displays the item text, for example an employee number. The second, third, and subsequent columns display the first, second, and subsequent associated subitems.


2 Answers

This code works for me:

using System;
using System.Windows.Forms;

public class LVTest : Form {
    public LVTest() {
        ListView lv = new ListView();
        lv.Columns.Add("Header", 100);
        lv.Columns.Add("Details", 100);
        lv.Dock = DockStyle.Fill;
        lv.Items.Add(new ListViewItem(new string[] { "Alpha", "Some details" }));
        lv.Items.Add(new ListViewItem(new string[] { "Bravo", "More details" }));
        lv.View = View.Details;
        Controls.Add(lv);
    }
}

public static class Program {
    [STAThread] public static void Main() {
        Application.Run(new LVTest());
    }
}

Try this code for yourself in an empty project. Then, focus on adapting it to your application: compare how your program is different from this code, and work on changing it to more closely match mine. It's OK if you lose functionality in your program; just try to get a basic version working. Then, add functionality back bit by bit so you can be sure that the program still works every step of the way.

If you're still stuck, post more code from your project and we might have a better idea of why you're having trouble.

like image 199
James Johnston Avatar answered Oct 02 '22 12:10

James Johnston


Another possible cause of blank items when listview.View = View.Details, is if you don't add any columns to the listview.

For example:

ListView lv = new ListView();
lv.View = View.Details;
lv.Items.Add("Test");

.. will result in a blank ListView.
Adding a column will correct:

...
lv.View = View.Details;
// Add one auto-sized column, to show Text field of each item.
lv.Columns.Add("YourColumnTitle", -2);
...
like image 34
ToolmakerSteve Avatar answered Oct 02 '22 12:10

ToolmakerSteve