Inquiridor
Actualizar valores por código

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.
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;
}
Francisco
OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx -
-
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