Carrinho de Compras

29/10/2008

0

Ola Novamente



Dessa vez eu estou desenvolvendo uma rotina similar a de um carrinho de compras que felizmente esta funcionando bem.



Eu seleciono um campo no DropDown que sera o campo ID para o carrinho.Eu estou usando DataSet/DataTable para incluir os dados no carrinho e grava-los de uma so vez ao final.



Acontece que alem desse campo ID do combo eu tenho tambem um campo codigo associado.



Ex : Eu tenho o codigo 1 e o ID= 1

Codigo 1 e ID= 2

Codigo 3 e ID=3



Nas rotinas usando essa rotina similar ao carrinho de compras que usei ate hoje, nunca surgiu a situacao em que eu tinha que incluir o mesmo ID 2 vezes e mesmo que surgisse bastaria eu verificar a quantidade anterior e apenas somar a nova quantidade fornecida.



Porem neste caso eu terei que incluir no carrinho o mesmo ID ´N´ vezes, porem sempre com o campo codigo diferente do anterior.



Como eu faco isso?



Abaixo a rotina que estou usando :



´obtem a tabela do dataset e atribui ao datable local

Dim dt As DataTable = ObterDocumentos().Tables(0)

´localiza o codigo do produto na tabela



Dim row As DataRow = dt.Rows.Find(Convert.ToDouble(CboFormato.SelectedItem.Value))

If row Is Nothing Then

´se nao achou cria uma nova linha

row = dt.NewRow()

row(´itemID´) = Convert.ToDouble(CboFormato.SelectedItem.Value)

row(´REL_DOCUMENTO´) = TxtDocumento.Text.Trim

row(´FORMATO_ID´) = Convert.ToDouble(CboFormato.SelectedItem.Value)

row(´FORMATO_NOME´) = CboFormato.SelectedItem.Text.Trim

row(´REL_PREVINI´) = CDate(TxtInicioPrevisto.Text)

row(´REL_PREVFIM´) = CDate(TxtTerminoPrevisto.Text)

row(´ESPEC_ID´) = CboEspecialidade.SelectedItem.Value

row(´ESPEC_NOME´) = CboEspecialidade.SelectedItem.Text.Trim

row(´REL_HORASPREVISTAS´) = Convert.ToDouble(TxtHorasPrevistas.Text.Trim)

row(´COLABOR_ID´) = CboColaborador.SelectedItem.Value

row(´USER_NOME´) = CboColaborador.SelectedItem.Text.Trim

´inclui a linha no datable

dt.Rows.Add(row)

Else

´se a linha ja existir então apenas altera a quantidade

´Dim qtd As Integer = Convert.ToInt32(row(´Quantidade´))

´qtd = qtd + quantidade

´row(´Quantidade´) = qtd

End If

Catch ex As Exception

lblMensagem.Text = ´Ocorreu um Erro Inesperado : ´ & vbCrLf & ex.Message & vbCrLf ´ & ex.InnerException.ToString

Finally

conexao.Close()

End Try



Eu quero incluir um produto digamos no carrinho de compras, tendo como base o ID e um codigo de servico.

O meu problema esta basicamente na linha abaixo :



Dim row As DataRow = dt.Rows.Find(Convert.ToDouble(CboFormato.SelectedItem.Value))

O Row nao aceita valores tipo String e eu preciso verificar se a linha digitada ja existe baseado no ID (CboFormato.SelectedItem.Value) e em um codigo (Que nao e o do produto)



E agora? Deu para entender ?





Muito Obrigado


Sid.sil

Sid.sil

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar