Jump to content
Sign in to follow this  
diogom

Passar campos de detailsview para variaveis

Recommended Posts

diogom

Olá

como posso passar os campos que estão na detailsview para variáveis.

Encontrei este exemplo, mas só funciona ate ao 1.

 

DetailsViewRow row = CustomerDetailView.Rows[1]; 
String id = row.Cells[0].Text; 
String nome = row.Cells[1].Text;

Share this post


Link to post
Share on other sites
legd1991

Se só tiveres duas linhas só vai até ao 1

A primeira linha é 0, a segunda é 1 e assim por aí fora

Edited by legd1991

Share this post


Link to post
Share on other sites
diogom

Se só tiveres duas linhas só vai até ao 1

pois, mas tenho mais.

Alterei para 10, mas continua na mm DetailsViewRow row = CustomerDetailView.Rows[1];

Share this post


Link to post
Share on other sites
nelsonr

Algo assim?

foreach(DetailsViewRow row in CustomerDetailView.Rows)
{
  id = row.Cells[0].Text;
  nome = row.Cells[1].Text;
 // ...
}

Share this post


Link to post
Share on other sites
legd1991

Estás a dizer que nas colunas só consegues apanhar os valores das duas primeiras?

Share this post


Link to post
Share on other sites
diogom

Estás a dizer que nas colunas só consegues apanhar os valores das duas primeiras?

exemplo da detail view

id 1

nome ola

idade 12

ec solt

etc etc

so apanho o id e nome, se meto maior dame este erro

O argumento especificado estava fora do intervalo de valores válidos.

Nome do parâmetro: índex

Share this post


Link to post
Share on other sites
legd1991

Tenta assim:

foreach (DataGridViewRow dr in dataGridView.Rows)
{
   string col1 = dr.Cells["Col1"].Value.ToString();
   string col2 = dr.Cells["Col2"].Value.ToString();
   string col3 = dr.Cells["Col3"].Value.ToString();
}

Share this post


Link to post
Share on other sites
diogom

Já sei qual é o problema.

exemplo:

id 1

nome ola

idade 12

ec solt

etc etc

foreach (DetailsViewRow Row in DetailsView1.Rows)

{

id = Row.Cells[1].Text.ToString();

nome = Row.Cells[0].Text.ToString();

}

id = etc

nome = etc

Como faço para ir buscar do lado direito 1 a 1 de cima para baixo?

Share this post


Link to post
Share on other sites
diogom

O nome, idade, ect não são o nome dasc colunas?

No exemplo tem 2 colunas e 5 linhas.

Eu quero ir buscar os valores na 2 coluna e em todas as linhas.

Share this post


Link to post
Share on other sites
legd1991

O que podes fazer é isto:

foreach (DetailsViewRow Row in DetailsView1.Rows)
{
   string tipo = Row.Cells[0].Text.ToString();
   string valor = Row.Cells[1].Text.ToString();

   switch(tipo)
   {
  case "Id": {id= valor; break;}
  case "Nome": {Nome=valor; break;}
   }
}

Isto não é correcto ser feito assim. Mas o que tu queres, e como tens a tabela também não me parece que esteja bem.

Share this post


Link to post
Share on other sites
nelsonr

O melhor é ires pelo debug, como já foi sugerido.

Faz um breakpoint dentro do foreach

No quickwatch, verifica o conteúdo de Row.Cells

Se mostrar 10 (como dizes acima), selecionas a nº 2 (por exemplo) e vê se é o conteúdo que pretendes

Vê na linha do quickwatch qual o código apresentado para aceder a essa valor.

Share this post


Link to post
Share on other sites
diogom

O que podes fazer é isto:

foreach (DetailsViewRow Row in DetailsView1.Rows)
{
string tipo = Row.Cells[0].Text.ToString();
string valor = Row.Cells[1].Text.ToString();

switch(tipo)
{
 case "Id": {id= valor; break;}
 case "Nome": {Nome=valor; break;}
}
}

Isto não é correcto ser feito assim. Mas o que tu queres, e como tens a tabela também não me parece que esteja bem.

È mm isto, mas o 2 valor vem sem nulo e o campo está preenchido.

No case tenho de colocar o nome da linha da coluna 0?

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • 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.