andrego Posted June 26, 2012 at 12:31 PM Report #465590 Posted June 26, 2012 at 12:31 PM (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 at 10:04 PM by softklin Adicionado GeSHi para blocos de código
Rechousa Posted July 10, 2012 at 04:33 PM Report #468218 Posted July 10, 2012 at 04:33 PM (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 at 04:34 PM by Rechousa Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
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