andrego Posted June 26, 2012 Report Share Posted June 26, 2012 (edited) Boas caros amigos... Hoje estou a ter um erro que me esta a deixar tolo... Eu criei uma classe paciente, em qual adicionei ; private int numero; private string nome; private string telefone; private string nbeneficiario; private string datanascimento; private string profissao; private string morada; private string observacoes; private string email; private int consultas = 0; ... public void MostraPacientes() { Console.WriteLine(this.numero + " - " + this.nome + " Tel: " + this.telefone + "Dat.Nasc:"+ this.datanascimento + "NBenf:" + this.nbeneficiario + "Profissão" + this.profissao + "Morada" + this.morada + "Observações" + this.observacoes + "Email" + this.email); } public string GetPacienteInfo() { return (this.nome + " - Tel: " + this.telefone + "Dat.Nasc:" + this.datanascimento + "NBenf:" + this.nbeneficiario + "Profissão" + this.profissao + "Morada" + this.morada + "Observações" + this.observacoes + "Email" + this.email ); } na classe Inserir novo paciente fiz... public class NovoPacientePanel : Panel { private System.Windows.Forms.Label titulo; private System.Windows.Forms.TextBox nomeText; private System.Windows.Forms.Label nome; private System.Windows.Forms.TextBox telefoneText; private System.Windows.Forms.Label telefone; private System.Windows.Forms.TextBox datanascimentoText; private System.Windows.Forms.Label datanascimento; private System.Windows.Forms.TextBox nbeneficiarioText; private System.Windows.Forms.Label nbeneficiario; private System.Windows.Forms.TextBox profissaoText; private System.Windows.Forms.Label profissao; private System.Windows.Forms.TextBox moradaText; private System.Windows.Forms.Label morada; private System.Windows.Forms.TextBox observacoesText; private System.Windows.Forms.Label observacoes; private System.Windows.Forms.TextBox emailText; private System.Windows.Forms.Label email; private System.Windows.Forms.Button pacienteGuardar; .... this.Controls.Add(this.titulo); this.Controls.Add(this.nomeText); this.Controls.Add(this.nome); this.Controls.Add(this.telefoneText); this.Controls.Add(this.telefone); this.Controls.Add(this.nbeneficiarioText); this.Controls.Add(this.nbeneficiario); this.Controls.Add(this.datanascimentoText); this.Controls.Add(this.datanascimento); this.Controls.Add(this.profissaoText); this.Controls.Add(this.profissao); this.Controls.Add(this.moradaText); this.Controls.Add(this.morada); this.Controls.Add(this.observacoesText); this.Controls.Add(this.observacoes); this.Controls.Add(this.emailText); this.Controls.Add(this.email); this.Controls.Add(this.pacienteGuardar); this.Dock = System.Windows.Forms.DockStyle.Fill; this.Location = new System.Drawing.Point(0, 0); this.Name = "panel1"; this.Size = new System.Drawing.Size(402, 315); this.TabIndex = 0; // // titulo // this.titulo.AutoSize = true; this.titulo.Location = new System.Drawing.Point(184, 9); this.titulo.Name = "titulo"; this.titulo.Size = new System.Drawing.Size(70, 13); this.titulo.TabIndex = 4; this.titulo.Text = "Novo Paciente"; // // nomeText // this.nomeText.Location = new System.Drawing.Point(197, 65); this.nomeText.Name = "nomeText"; this.nomeText.Size = new System.Drawing.Size(127, 20); this.nomeText.TabIndex = 1; // // nome // this.nome.AutoSize = true; this.nome.Location = new System.Drawing.Point(112, 65); this.nome.Name = "nome"; this.nome.Size = new System.Drawing.Size(38, 13); this.nome.TabIndex = 0; this.nome.Text = "Nome:"; // // telefoneText // this.telefoneText.Location = new System.Drawing.Point(197, 89); this.telefoneText.Name = "telefoneText"; this.telefoneText.Size = new System.Drawing.Size(127, 20); this.telefoneText.TabIndex = 1; // // telefone // this.telefone.AutoSize = true; this.telefone.Location = new System.Drawing.Point(112, 91); this.telefone.Name = "telefone"; this.telefone.Size = new System.Drawing.Size(38, 13); this.telefone.TabIndex = 0; this.telefone.Text = "Telefone:"; // // numerobeneficiarioText // this.nbeneficiarioText.Location = new System.Drawing.Point(197, 112); this.nbeneficiarioText.Name = "nbeneficiarioText"; this.nbeneficiarioText.Size = new System.Drawing.Size(127, 20); this.nbeneficiarioText.TabIndex = 1; // // nbeneficiario // this.nbeneficiario.AutoSize = true; this.nbeneficiario.Location = new System.Drawing.Point(112, 113); this.nbeneficiario.Name = "Nr.Beneficiario"; this.nbeneficiario.Size = new System.Drawing.Size(38, 13); this.nbeneficiario.TabIndex = 0; this.nbeneficiario.Text = "Nr.Beneficiario:"; // // datanascimentoText // this.datanascimentoText.Location = new System.Drawing.Point(197, 134); this.datanascimentoText.Name = "datanascimentoText"; this.datanascimentoText.Size = new System.Drawing.Size(127, 20); this.datanascimentoText.TabIndex = 1; // // datanascimento ... para todos private void pacienteGuardar_Click(object sender, EventArgs e) { Paciente p = new Paciente(nomeText.Text, telefoneText.Text, nbeneficiarioText.Text, datanascimentoText.Text, moradaText.Text, profissaoText.Text, moradaText.Text, observacoesText.Text, 0); gestaoDados.adicionaPaciente(p); mainPanel.listarPacientes_Click(sender, e); } e depois na classe listar pacientes coloquei : public void DataSource(ArrayList p) { this.pacientes = p; intRows = pacientes.Count + 1; // Obter o número de linhas na matriz bidimensional. intColumns = 11; ... blData = new Control[totalDataCells]; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Número"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R0"; tlp.Controls.Add(lblData[tag], 0, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Nome"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R1"; tlp.Controls.Add(lblData[tag], 1, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Telefone"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R2"; tlp.Controls.Add(lblData[tag], 2, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Nr.Beneficiario"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R4"; tlp.Controls.Add(lblData[tag], 3, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "DataNascimento"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R5"; tlp.Controls.Add(lblData[tag], 4, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Profissão"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R3"; tlp.Controls.Add(lblData[tag], 5, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Morada"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R7"; tlp.Controls.Add(lblData[tag], 6, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Observações"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R6"; tlp.Controls.Add(lblData[tag], 7, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Email"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R8"; tlp.Controls.Add(lblData[tag], 8, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Consultas"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R9"; tlp.Controls.Add(lblData[tag], 9, 0); tag++; lblData[tag] = new Label(); lblData[tag].BackColor = System.Drawing.Color.Gray; lblData[tag].Text = "Apagar"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R10"; tlp.Controls.Add(lblData[tag], 10, 0); tag++; for (int r = 1; r < intRows; r++) { Paciente p1 = (Paciente)pacientes[r - 1]; lblData[tag] = new Label(); lblData[tag].Text = p1.Numero.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 0, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Nome.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 1, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Telefone.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 2, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Nbeneficiario.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 3, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Datanascimento.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 4, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Profissao.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 5, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Morada.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 6, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Observacoes.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 7, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Email.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 8, r); tag++; lblData[tag] = new Label(); lblData[tag].Text = p1.Consultas.ToString(); lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellWidth; lblData[tag].Height = cellHeight; lblData[tag].Tag = "R" + r; tlp.Controls.Add(lblData[tag], 9, r); tag++; lblData[tag] = new Button(); lblData[tag].Text = "X"; lblData[tag].Dock = DockStyle.Fill; lblData[tag].Width = cellHeight; lblData[tag].Height = cellHeight; lblData[tag].Tag = p1.Numero; lblData[tag].Click += new System.EventHandler(this.pacienteApagar_Click); tlp.Controls.Add(lblData[tag], 10, r); tag++; } } private void pacienteApagar_Click(object sender, EventArgs e) { ButtonBase b = (ButtonBase)sender; gestaoDados.apagarPaciente(Convert.ToInt32(b.Tag)); mainPanel.listarPacientes_Click(sender, e); } // Seguindo método, define o tamanho de cada célula public void CellSize(int CellWidth, int CellHeight) { this.cellWidth = CellHeight; this.cellWidth = CellWidth; } // Obter o número total de linhas. public int RowCount() { return this.pacientes.Count; } // Obter os dados armazenados na matriz objecto. Esse método leva dois argumentos, o de linha e coluna como inteiros. public object GetObject(int row) { return this.pacientes[row]; } } } mas quando vejo o que inseri nos pacientes, na parte de listar... os elementos aparecem me trocados... somente o numero, nome e telefone estao direitos...o resto esta tudo trocado... tem alguma solucao para este problema??? Edited June 27, 2012 by softklin Adicionado GeSHi para blocos de código Link to comment Share on other sites More sharing options...
Rechousa Posted July 10, 2012 Report Share Posted July 10, 2012 (edited) Olá, Não sei se já terás o problema resolvido, mas verifica o teu construtor: Paciente p = new Paciente(nomeText.Text, telefoneText.Text, nbeneficiarioText.Text, datanascimentoText.Text, moradaText.Text, profissaoText.Text, moradaText.Text, observacoesText.Text, 0); Verifica se a ordem dos parâmetros está correcta. Edited July 10, 2012 by Rechousa Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now