none
Actualizar valores por código RRS feed

  • Pergunta

  • Boas comunidade.

    Eu estou a ter um problema com movimento de registos no ADO.NET C#.

     

    é o seguinte. eu tenho 1 datagridview onde tenho colunas(cod_servico;descricao;tot_horas;preco_hora;iva;preco_total)

     

    Eu quero por código actualizar a grelha cada vez que altero os valores; so que quando estou a percorrer os valores, ele simpresmente nao sai do 1º.

     

    utilizo o seguinte:

     

    this.fKLINDocBindingSource.MoveFirst();

    .

    .

    .

     

    while (this.fKLINDocBindingSource.Position < this.fKLINDocBindingSource.Count)

    {

         dataLin = (DataRowView)this.fKLINDocBindingSource.Current;

         // Só utilizo nesta parte para ir buscar os valores, nao altero nenhum valor directamente

         .

         .

         .

         dataLin = null;

     

         this.fKLINDocBindingSource.MoveNext();

        // Ele aqui nao sai da primeira posição.

     

    }

     

     

    Alguem me pode ajudar?

     

     

    Obrigado.

     

    segunda-feira, 25 de junho de 2007 15:58

Todas as Respostas

  • Camsoft,

     

    Não é pelo BindingSource que você vai percorrer as linhas, o ideal é você usar a própria fonte de dados. Supondo que se um DataSet com um DataTable:

     

    foreach(DataRow dr in SeuDataSet.SuaTabela.Rows) // ou seuDataSet.Tables["SuaTabela"].Rows

    {

         dr["SeuCampo"] = x;

    }

     

     

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx
    segunda-feira, 25 de junho de 2007 16:07
    Moderador
  • Francisco,

     

    Mas eu desta forma, ele vai buscar os registos todos.

     

     

    E o que eu quero e que ele some so as linhas referentes aquele documento.

     

    E um Master/detail

     

     

    terça-feira, 26 de junho de 2007 23:13
  • Camsoft,

     

    Então poderia ser algo assim:

     

    DataRowView drv = (DataRowView) seuBindingSouceMaster.Current();

    foreach(DataRow dr in drv.Row.GetChildRows("RelacionamentoFilho"))

    {

       dr["Campox"] = y;

    }

     

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    quarta-feira, 27 de junho de 2007 13:26
    Moderador