none
como aumentar o numero de colunas Data grid view ??? RRS feed

  • Pergunta

  • Tenho uma data grid view com 2 colunas. Gostaria de acrescentar mais uma.
    Quero uma datagrid com 3 colunas, o que devo fazer ?

     List<Jogador> jogadores = new List<Jogador>();




            private void ExibirDados()
            {

                //ordenando sua lista por ordem decrescentes!
                jogadores.Sort(delegate(Jogador a, Jogador b) { return b.Gols.CompareTo(a.Gols); });
                dataGridView1.DataSource = null;


                //exibindo sua lista
                dataGridView1.DataSource = jogadores;


            }

            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {

                ExibirDados(); //popula a list<jogadores>
                //exibindo sua lista
                dataGridView1.DataSource = jogadores;
    segunda-feira, 31 de agosto de 2009 21:49

Respostas

  • Se voce atribuiu ao datasource do grid a sua lista List<classCampeoes> e a classe classCampeoes possui 3 propriedades (nome, campeao e vice), entao automaticamente seu grid terá 3 colunas.

    Qual a dúvida?

    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    • Marcado como Resposta Fabricio csharp segunda-feira, 31 de agosto de 2009 22:45
    segunda-feira, 31 de agosto de 2009 22:22

Todas as Respostas

  • O que terá nesta coluna?

    Pergunto isso, pq seu datasource é um List<Jogador>, sendo assim, voce pode acrescentar mais uma propriedade na classe Jogador (cada propriedade dessa classe é uma coluna no grid).

    []s



    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    segunda-feira, 31 de agosto de 2009 21:59
  • eu construi uma classe

      namespace Torneio
    {
        class classCampeoes
        {
            public string Nome { get; set; }
            public string Campeao { get; set; }
            public string Vicecampeao { get; set; }
        }
    }

    E eu quero 3 colunas com os nomes       |Nome|Campeão|Vicecampeao|

     public partial class Campeoes : Form
        {
            public Campeoes()
            {
                InitializeComponent();
            }

            List<classCampeoes> campeoes = new List<classCampeoes>();




            private void ExibirDados()
            {

                //ordenando sua lista por ordem decrescentes!
                classCampeoes.Sort(delegate(Nome a, Nome b) { return b.campeao.CompareTo(a.campeao); });
                dataGridView1.DataSource = null;


                //exibindo sua lista
                dataGridView1.DataSource = campeoes;


            }

            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {

                ExibirDados(); //popula a list<jogadores>
                //exibindo sua lista
                dataGridView1.DataSource = classCampeoes;



            }

            private void butAbrir_Click(object sender, EventArgs e)
            {
                DataSet dst = new DataSet();

                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    dst.ReadXml(openFileDialog1.FileName);
                    dataGridView1.DataSource = dst;
                    dataGridView1.DataMember = dst.Tables[0].ToString();
                }
                else
                {
                    dst.ReadXml("teste.xml");
                    dataGridView1.DataSource = dst;
                    dataGridView1.DataMember = dst.Tables[0].ToString();
                }

                jogadores = new List<Jogador>();
                foreach (DataRow row in dst.Tables[0].Rows)
                {
                    jogadores.Add(new Jogador { Nome = row[0].ToString(), Gols = Convert.ToInt32(row[1]) });
                }
            }
        }
    }

    segunda-feira, 31 de agosto de 2009 22:14
  • Se voce atribuiu ao datasource do grid a sua lista List<classCampeoes> e a classe classCampeoes possui 3 propriedades (nome, campeao e vice), entao automaticamente seu grid terá 3 colunas.

    Qual a dúvida?

    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    • Marcado como Resposta Fabricio csharp segunda-feira, 31 de agosto de 2009 22:45
    segunda-feira, 31 de agosto de 2009 22:22
  • Por que nessa parte do codigo onte ta em negrito ta me dando esse seguinte erro
     private void ExibirDados()
            {

                //ordenando sua lista por ordem decrescentes!
                classCampeoes.Sor t(delegate(Nome a, Nome b) { return b.campeao.CompareTo(a.campeao); });
                dataGridView1.DataSource = null;


                //exibindo sua lista
                dataGridView1.DataSource = campeoes;


            }
    Que Torneio.classCampeoes não tem uma definição para Sort
    segunda-feira, 31 de agosto de 2009 22:25
  • Ué a dúvida já mudou pra outra coisa? hehehe

    O erro é exatamente o que tá escrito ai. Sua classe classCampeoes NAO possui um metodo chamado Sort (ela só tem 3 propriedades e mais nada).

    Para tornar sua classe "ordenável", sua classe deve implementar a interface IComparable. Depois voce ordena usando a classe Array.Sort( classCampeoes).

    Outra opção é tentar ordenar o List (voce vai ter que implementar um List ordenavel) ou ainda usar LINQ.

    Dê uma buscada aqui no forum por essas opções que voce vai achar varios topicos.

    Qquer coisa, dê um retorno.

    []s
    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    segunda-feira, 31 de agosto de 2009 22:35
  • Agora sim consegui...
    Obrigado por me ajudar mais uma vez amigo !!!
    Valew !
    segunda-feira, 31 de agosto de 2009 22:45
  • Disponha, cara.

    Só te peço que caso resolva o problema durante os posts que encerre o tópico e poste a NOVA pergunta em uma nova thread do forum. (obs.: mas sempre dê uma pesquisada no forum antes, pq as vezes você já encontra a resposta)

    []s

    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    segunda-feira, 31 de agosto de 2009 22:50