Usuário com melhor resposta
como Atribuir um listview para array?

Pergunta
-
É possivel atribuir um listview para um array ou outra tipo de lista e depois atribui-lo para um datagridview?
ou do listView deireto para o datagrid?
- Movido Ari C. RaimundoModerator terça-feira, 19 de julho de 2011 01:25 Movido para fórum apropriado (De:.NET Development - Geral)
Respostas
-
Ricardo,
Não entendi o propósito de fazer isso. De qualquer forma, é possível testar o DataSource do ListView (se data binding) ou fazer um loop nos items do mesmo e converter em array.
Pode explicar melhor o que precisa fazer?
Abraços.
PS: Estou movendo sua thread para o fórum de Windows Forms, das próximas vezes que tiver uma dúvida sobre essa tecnologia poste por lá.
Ari C. Raimundo
MCAD, MCTS
http://araimundo.blogspot.com- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 19 de julho de 2011 23:49
- Marcado como Resposta AndreAlvesLimaModerator segunda-feira, 8 de agosto de 2011 16:40
-
Olá Ricado, você pode ler o seu ListView desta maneira:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); CreateMyListView(); } private void CreateMyListView() { // Set the view to show details. listView1.View = View.Details; // Allow the user to edit item text. listView1.LabelEdit = true; // Allow the user to rearrange columns. listView1.AllowColumnReorder = true; // Select the item and subitems when selection is made. listView1.FullRowSelect = true; // Display grid lines. listView1.GridLines = true; // Sort the items in the list in ascending order. listView1.Sorting = SortOrder.Ascending; // Create three items and three sets of subitems for each item. ListViewItem item1 = new ListViewItem("item1", 0); item1.SubItems.Add("1"); item1.SubItems.Add("2"); item1.SubItems.Add("3"); ListViewItem item2 = new ListViewItem("item2", 1); item2.SubItems.Add("4"); item2.SubItems.Add("5"); item2.SubItems.Add("6"); ListViewItem item3 = new ListViewItem("item3", 0); item3.SubItems.Add("7"); item3.SubItems.Add("8"); item3.SubItems.Add("9"); // Create columns for the items and subitems. listView1.Columns.Add("Column 1"); listView1.Columns.Add("Column 2"); listView1.Columns.Add("Column 3"); listView1.Columns.Add("Column 4"); //Add the items to the ListView. listView1.Items.AddRange(new ListViewItem[] { item1, item2, item3 }); } private void btnGetValuesList_Click(object sender, EventArgs e) { //Array de string aonde vai ser gravado os itens e subItens string[,] itensArray; //Criando ArrayString itensArray = new string[listView1.Items.Count, listView1.Items[0].SubItems.Count]; //Varrendo itens e atribuindo for (int i = 0; i < listView1.Items.Count; i++) { //Varrendo subitens e atribuindo ao arraystring for (int j = 0; j < listView1.Items[i].SubItems.Count; j++) { itensArray[i, j] = listView1.Items[i].SubItems[j].Text; } } } } }
Referencias:
http://msdn.microsoft.com/pt-br/library/system.windows.forms.listview.aspx
http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
Vitor Mendes | Seu feedback é muito importante para todos!- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 19 de julho de 2011 23:49
- Marcado como Resposta AndreAlvesLimaModerator segunda-feira, 8 de agosto de 2011 16:40
Todas as Respostas
-
Ricardo,
Não entendi o propósito de fazer isso. De qualquer forma, é possível testar o DataSource do ListView (se data binding) ou fazer um loop nos items do mesmo e converter em array.
Pode explicar melhor o que precisa fazer?
Abraços.
PS: Estou movendo sua thread para o fórum de Windows Forms, das próximas vezes que tiver uma dúvida sobre essa tecnologia poste por lá.
Ari C. Raimundo
MCAD, MCTS
http://araimundo.blogspot.com- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 19 de julho de 2011 23:49
- Marcado como Resposta AndreAlvesLimaModerator segunda-feira, 8 de agosto de 2011 16:40
-
Olá Ricado, você pode ler o seu ListView desta maneira:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); CreateMyListView(); } private void CreateMyListView() { // Set the view to show details. listView1.View = View.Details; // Allow the user to edit item text. listView1.LabelEdit = true; // Allow the user to rearrange columns. listView1.AllowColumnReorder = true; // Select the item and subitems when selection is made. listView1.FullRowSelect = true; // Display grid lines. listView1.GridLines = true; // Sort the items in the list in ascending order. listView1.Sorting = SortOrder.Ascending; // Create three items and three sets of subitems for each item. ListViewItem item1 = new ListViewItem("item1", 0); item1.SubItems.Add("1"); item1.SubItems.Add("2"); item1.SubItems.Add("3"); ListViewItem item2 = new ListViewItem("item2", 1); item2.SubItems.Add("4"); item2.SubItems.Add("5"); item2.SubItems.Add("6"); ListViewItem item3 = new ListViewItem("item3", 0); item3.SubItems.Add("7"); item3.SubItems.Add("8"); item3.SubItems.Add("9"); // Create columns for the items and subitems. listView1.Columns.Add("Column 1"); listView1.Columns.Add("Column 2"); listView1.Columns.Add("Column 3"); listView1.Columns.Add("Column 4"); //Add the items to the ListView. listView1.Items.AddRange(new ListViewItem[] { item1, item2, item3 }); } private void btnGetValuesList_Click(object sender, EventArgs e) { //Array de string aonde vai ser gravado os itens e subItens string[,] itensArray; //Criando ArrayString itensArray = new string[listView1.Items.Count, listView1.Items[0].SubItems.Count]; //Varrendo itens e atribuindo for (int i = 0; i < listView1.Items.Count; i++) { //Varrendo subitens e atribuindo ao arraystring for (int j = 0; j < listView1.Items[i].SubItems.Count; j++) { itensArray[i, j] = listView1.Items[i].SubItems[j].Text; } } } } }
Referencias:
http://msdn.microsoft.com/pt-br/library/system.windows.forms.listview.aspx
http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
Vitor Mendes | Seu feedback é muito importante para todos!- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 19 de julho de 2011 23:49
- Marcado como Resposta AndreAlvesLimaModerator segunda-feira, 8 de agosto de 2011 16:40