Jump to content

Recommended Posts

Posted

eu tenho uma datagridview a obter registos de uma base de dados, mas a datagrid tem varias rows cada uma equivale a um resgisto, ou seja, eu queria que apenas permitisse seleccionar uma row, mas nao estou a ver qual e a propriedade :x

alguem ajuda ?

😕

Posted

Vê a propriedade SelectionMode e define como FullRowSelect

Acho que e mesmo isso, mas da para seleccionar duas ou mais na mesma, mas apenas uma fica com a seta atras, ele vai detectar apenas essa nao e ? :/

e a propriedade para ir buscar a linha seleccionada e a mesma ou sera a selectedrows  ?

Posted

O que precisas é de colocar a propriedade MultiSelect a false.

ja esta direito, obrigado 😛

era mesmo isso, agora so preciso da propriedade para ir buscar a row que esta seleccionada :x

Posted

Consegues seleccionar mais que uma linha?

Acabei de testar aqui e funcionou bem.

Nao, ja esta certo, obrigado : D

agora falta obter os dados dessa linha :X

Posted

DataGridView dgv;
//...
string firstCellValue = dgv.SelectedRows[0].Cells[0].Value.ToString();

MessageBox.Show(datagridpesq.Rows[0].Cells[0].Value.ToString());

com isto ele mostra o valor que esta na 1 row e 1 cell, mas eu preciso e que faca isso para todas as existentes, para isso e preciso um count as rows e cells certo ?

Posted

Certo.

Terás de fazer um for para correres todas as linhas. As colunas à partida saberás quantas são portanto para cada coisa que queres acedes ao índice correspondente da coluna.

Exemplo:

for(int i=0; i<dgv.SelectedRows.Count;i++)
{
     string a = dgv.SelectedRows[i].Cells[0].Value.ToString();
     string b = dgv.SelectedRows[i].Cells[2].Value.ToString();
}
Posted
int Colunas = dr6.FieldCount;
                for (int i = 0; i < Colunas; i++)
                {
                    MessageBox.Show(datagridpesq.Rows[datagridpesq.SelectedRows[0].Index].Cells[i].Value.ToString());
                    conn.Close();
                }

eu ja consegui isso com isto, o meu problema agora e enviar os dados para as texts e combos que estao noutro form, ja esta a ir para o outro form com os objectos enabled, so falta mesmo preencher :x

Posted

Não estás a conseguir passar os dados de um form para ou outro, é isso?

Podes passar os dados no construtor do formulário.

Tipo isto:

Form2 frm2 = new Form2(a,b,c) em que a,b e c são os valores que foste buscar à tua tabela

No outro form no construtor ficas com isto

public Form2(string a, string b, string c)
{
this.a = a;
this.b = b;
this.c = c;
}

No método Load do formulário fazes algo como:

txtA.Text = a;
txtB.Text = b;
txtC.Text = c;
Posted

sim, eu tenho isto para inserir os dados na grid, a messagebox e so para ver se esta a funcionar bem, e vai para o outro form e mete os objectos enabled, falta preencher os dados :x

 SqlConnection conn = new SqlConnection(connectionString);
                conn.Open();
                SqlCommand cmd = new SqlCommand("SELECT nome,idade,telefone,morada FROM alunos WHERE nome like @nome", conn);
                cmd.Parameters.Add("@nome", SqlDbType.NVarChar).Value = datagridpesq.SelectedRows.ToString();
                SqlDataReader dr6 = cmd.ExecuteReader();
                int Colunas = dr6.FieldCount;
                for (int i = 0; i < Colunas; i++)
                {
                    MessageBox.Show(datagridpesq.Rows[datagridpesq.SelectedRows[0].Index].Cells[i].Value.ToString());
                    conn.Close();
                }
                this.Hide();
                Alunos alunos = new Alunos();
                alunos.Show();
                alunos.txt_idade.Enabled = true;
                alunos.txt_morada.Enabled = true;
                alunos.txt_nome.Enabled = true;
                alunos.txt_telefone.Enabled = true;

e queria passar estes valores para as respectivas texts do outro form :/

nao estou mesmo a perceber a lógica :x

Posted

Fazes como o amilo te disse. Mandas pelo construtor. Em vez de ser Form2 irá ser Alunos

Já agora estás a fazer multiplos Closes à conecção.

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.