Para agregar elementos a la columna 1 en mi listView
control ( Winform
) que estoy usando listView1.Items.Add
, esto funciona bien, pero ¿cómo agrego elementos a las columnas 2 y 3, etc.?
Para agregar elementos a la columna 1 en mi listView
control ( Winform
) que estoy usando listView1.Items.Add
, esto funciona bien, pero ¿cómo agrego elementos a las columnas 2 y 3, etc.?
Respuestas:
Hay varias formas de hacerlo, pero aquí hay una solución (para 4 columnas).
string[] row1 = { "s1", "s2", "s3" };
listView1.Items.Add("Column1Text").SubItems.AddRange(row1);
Y una forma más detallada está aquí:
ListViewItem item1 = new ListViewItem("Something");
item1.SubItems.Add("SubItem1a");
item1.SubItems.Add("SubItem1b");
item1.SubItems.Add("SubItem1c");
ListViewItem item2 = new ListViewItem("Something2");
item2.SubItems.Add("SubItem2a");
item2.SubItems.Add("SubItem2b");
item2.SubItems.Add("SubItem2c");
ListViewItem item3 = new ListViewItem("Something3");
item3.SubItems.Add("SubItem3a");
item3.SubItems.Add("SubItem3b");
item3.SubItems.Add("SubItem3c");
ListView1.Items.AddRange(new ListViewItem[] {item1,item2,item3});
Puede agregar elementos / subelementos a ListView como:
ListViewItem item = new ListViewItem(new []{"1","2","3","4"});
listView1.Items.Add(item);
Pero sospecho que su problema está en el tipo de vista . Configúrelo en el diseñador en Detalles o haga lo siguiente en el código:
listView1.View = View.Details;
private void MainTimesheetForm_Load(object sender, EventArgs e)
{
ListViewItem newList = new ListViewItem("1");
newList.SubItems.Add("2");
newList.SubItems.Add(DateTime.Now.ToLongTimeString());
newList.SubItems.Add("3");
newList.SubItems.Add("4");
newList.SubItems.Add("5");
newList.SubItems.Add("6");
listViewTimeSheet.Items.Add(newList);
}
Aquí está la documentación de msdn sobre el objeto listview y el objeto listviewItem.
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.listviewitem.aspx
Le recomiendo encarecidamente que al menos se tome el tiempo para leer la documentación sobre cualquier objeto que use del marco .net. Si bien la documentación puede ser bastante pobre en algunos momentos, sigue siendo invaluable, especialmente cuando se encuentra en situaciones como esta.
Pero como dijo James Atkinson, es simplemente una cuestión de agregar subelementos a un elemento de vista de lista así:
ListViewItem i = new ListViewItem("column1");
i.SubItems.Add("column2");
i.SubItems.Add("column3");
Una línea que hice y funciona:
listView1.Items.Add(new ListViewItem { ImageIndex = 0, Text = randomArray["maintext"], SubItems = { randomArray["columntext2"], randomArray["columntext3"] } });
Utilice ListViewSubItem - Consulte: MSDN