Somar Valores de uma coluna do GridView

16/02/2015

Em windowsForm, o gridview tem a coluna "Valor" que preciso somar e mostrar em um textbox o total.
O gridview é da tabela "ItensLocação" e a coluna "Valor", é um combobox que traz o valor da tabela "Livros", pela junção do ID...

Tenho o código abaixo que funciona, mas o problema é que está somando o ID e não o valor mostrado na linha da coluna "Valor"...

private decimal valorLoc()
        {
            decimal total = 0;
            int i = 0;

            for (i = 0; i < itemLocacaoDataGridView.Rows.Count; i++)
            {
                total = total + Convert.ToDecimal(itemLocacaoDataGridView.Rows[i].Cells[2].Value);
            }
            return total;
        }

        private void calculaValor()
        {
            if (itemLocacaoDataGridView.Rows.Count > 0)

                valorLocacaoTextBox.Text = valorLoc().ToString("N");
        }


Aqui está a configuração do combobox :
[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150216-181254.png[/img]

E aqui o grid, para melhor entendimento :
[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150216-181322.png[/img]

Se alguém puder ajudar, agradeço Muito!

Jair Souza

Melhor resposta

23/02/2015

Ué, se a coluna é de valor, por que ela está ligada no campo ID? O erro aí é esse.

Joel Rodrigues

Responder Citar

Outras Respostas

20/02/2015

Joel Rodrigues

Tente referenciar a coluna pelo nome ao invés de pelo índice.
Responder Citar

21/02/2015

Jair Souza

Foi a minha primeira tentativa, mas dá este erro :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150221-203720.png[/img]

"Coluna não pode ser encontrado"
Responder Citar

23/02/2015

Joel Rodrigues

Que viagem, cara. Só agora vi na imagem que a coluna Valor na verdade está ligada ao campo IDLivro, por isso está somando o ID.
Responder Citar

23/02/2015

Jair Souza

Pois é...será que tem jeito ??
Responder Citar

23/02/2015

Jair Souza

Desculpe a falta de conhecimento.
Este grid é da tabela "ItemLocacao" e o preço está na tabela "Livro", o que fiz foi transformar o textbox em combobox para trazer o preço...
Errei na lógica, no raciocínio ?
Não pode ser assim ?
Responder Citar

23/02/2015

Joel Rodrigues

Ao invés de fazer dessa forma, faça o select direto usando join e exiba direto na coluna o valor, assim o Value será o valor desejado.
Responder Citar