none
como Atribuir um listview para array? RRS feed

  • 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)
    segunda-feira, 18 de julho de 2011 21:35

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


    terça-feira, 19 de julho de 2011 01:24
    Moderador
  • 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!
    terça-feira, 19 de julho de 2011 02:10

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


    terça-feira, 19 de julho de 2011 01:24
    Moderador
  • 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!
    terça-feira, 19 de julho de 2011 02:10