Usuário com melhor resposta
como aumentar o numero de colunas Data grid view ???

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;
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
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] -
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]) });
}
}
}
}
-
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
-
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 -
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] -
-
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]