EDITANDO E SALVANDO DENTRO DATAGRID

JOHNSTEVE 01/12/2016 22:17:44
#469360
Boa noite galera, estou montando uma tela. para meus clientes atualizarem os codigos NCM e CEST. e ainda alterar a tributação dos produtos Tributado ou Substituição.
veja nesse print. meu datagrid contendo todo meu estoque certo?

Eu deixei somente esses campos para serem alterados. digitando. [txt-color=#e80000] NCM, CEST e INDICADOR [/txt-color]
daê galera queria saber qual a propriedade a ser usada para salvar a cada modificação q for fazendo q sair do focus.

e queria saber tbm alguem de vcs. como validar em tempo real.. tipo Meu INDICADOR. 1 - é tributado e 2- substituição.
queria saber qual evento validar. ao digitar 1 eu jogar o nome na coluna(7). o nome Tributado ou Substituição conforme o Indicador. tipo. digitei o numero 1 . ai dar Enter q pular para o proximo.. e a coluna (7) exibir o nome correto da tributação... tipo digitei 1 sai ficou tributado. se eu voltar digitar 2 da enter sair .. fica substituição.

JOHNSTEVE 01/12/2016 22:30:28
#469361
Pessoal to tentando fazer assim. mais não ta dando certo.

     Private Sub dgv_Atualizar_Base_RowLeave(sender As Object, e As DataGridViewCellEventArgs) Handles dgv_Atualizar_Base.RowLeave

If dgv_Atualizar_Base.Rows(IntRownIdex).Cells(5).Value = [Ô]1[Ô] Then
dgv_Atualizar_Base.Rows(IntRownIdex).Cells(7).Value = [Ô]Tributado[Ô]

End If

If dgv_Atualizar_Base.Rows(IntRownIdex).Cells(5).Value = [Ô]2[Ô] Then
dgv_Atualizar_Base.Rows(IntRownIdex).Cells(7).Value = [Ô]Substituição[Ô]

End If
End Sub


No caso. se eu alterar o indicador da linha [Ô]3[Ô] queria q alterasse a tributação da mesma linha.
KERPLUNK 01/12/2016 23:58:44
#469362
Deve ser a milionésima vez que vou escrever isso aqui: Use OOP. Pare de programar proceduralmente, atualize-se e seus problemas se não acabarem de vez, vão ao menos diminuir muito.
JOHNSTEVE 02/12/2016 00:07:27
#469363
Citação:

:
Deve ser a milionésima vez que vou escrever isso aqui: Use OOP. Pare de programar proceduralmente, atualize-se e seus problemas se não acabarem de vez, vão ao menos diminuir muito.



KERPLUNK, desculpa mais consegui .. estou usando OOP..
eu tava querendo entender a logica. consegui.. vou atualziar depois q tiver tudo pronto preenchido.. chamar minha função no botao mesmo achei mais facil

oq esta faltando agora para finalizar esse topico..


Como faço para validar a quantidade de digitos dentro do Value coluna [Ô]CEST[Ô] - deixar digitar apenas 7 digitos.

so falta isso Kerplunk, para encerrar o topico. validar dentro do datagrid. deixar digitar apenas 7 digitos dentro da coluna [Ô]CEST[Ô]
KERPLUNK 02/12/2016 01:23:37
#469364
Como está fazendo o preenchimento do grid?
JOHNSTEVE 02/12/2016 08:46:32
#469366
Citação:

:
Como está fazendo o preenchimento do grid?



   Private Sub PCarregaDados()
Dim dr As OleDbDataReader = Nothing
Using con As OleDbConnection = GetConnection()
Try
con.Open()
Dim sql As String = [Ô]SELECT codigo,descricao,CFOP_Produto,ncm,CEST,indicador_icms,Cst_CSOSN FROM produtos[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim dt As New DataTable

dr = cmd.ExecuteReader
dt.Load(dr)
If dt.Rows.Count > 0 Then

Dim AddGrid As Integer
Dim row As String()

Dim numCOLUNAS As Integer = dt.Columns.Count
For AddGrid = 0 To dt.Rows.Count - 1
row = New String() {
dt.Rows(AddGrid)(0).ToString(),
dt.Rows(AddGrid)(1).ToString(),
dt.Rows(AddGrid)(2).ToString(),
dt.Rows(AddGrid)(3).ToString(),
dt.Rows(AddGrid)(4).ToString(),
dt.Rows(AddGrid)(5).ToString(),
dt.Rows(AddGrid)(6).ToString()}
dgv_Atualizar_Base.Rows.Add(row)

If dgv_Atualizar_Base.Rows(AddGrid).Cells(5).Value = [Ô]1[Ô] Then
dgv_Atualizar_Base.Rows.Item(AddGrid).Cells(7).Value = [Ô]Tributado[Ô]
End If

If dgv_Atualizar_Base.Rows(AddGrid).Cells(5).Value = [Ô]2[Ô] Then
dgv_Atualizar_Base.Rows.Item(AddGrid).Cells(7).Value = [Ô]Substituição[Ô]
End If

[ô]Quatro_dig_NCM = Mid(dgv_Atualizar_Base.Rows(AddGrid).Cells(3).Value, 1, 4)
[ô]PCarrega_NCM()
Next
End If

Catch ex As Exception
MsgBox([Ô]Ocorreu um erro na Leitura[Ô] & ex.Message, MsgBoxStyle.Information)
Finally
con.Close()
End Try
End Using
End Sub


Kerplunk, o carregamento esta ok. eu deixei apenas as essas 3 colunas para serem editadas pelo usuario.. NCM, CEST e INDICADOR
ai to precisando por uma validação nessas 3 colunas.
nas colunas.
* NCM - deixar digitar apenas 8 digitos.
*CEST - 7 digitos.
* INDICADOR - 1 digito.
OMAR2011 02/12/2016 08:56:38
#469367
Resposta escolhida
No CellValidating consegue fazer isto.
KERPLUNK 02/12/2016 23:21:36
#469389
Desculpe, mas você [txt-color=#e80000]NÃO[/txt-color] está usando OOP e por isso está com dificuldades.
JOHNSTEVE 02/12/2016 23:45:34
#469390
Citação:

:
Desculpe, mas você [txt-color=#e80000]NÃO[/txt-color] está usando OOP e por isso está com dificuldades.



Ja resolvi Kerplunk, eu so estava querendo saber onde ficaria melhor fazer a validação .. ai o amigo ai Omar, falou no evento CellValidating

fiz e deu certo :)
KERPLUNK 03/12/2016 00:37:06
#469391
Como ainda não está usando, comece ao menos a treinar OOP. Tente fazer o mesmo form. Adicione coisas como um somatório de tudo, por exemplo. Com OOP, cada uma dessas coisas se resolve com apenas uma linha curtinha de código.
JOHNSTEVE 03/12/2016 17:26:37
#469394
Citação:

:
Como ainda não está usando, comece ao menos a treinar OOP. Tente fazer o mesmo form. Adicione coisas como um somatório de tudo, por exemplo. Com OOP, cada uma dessas coisas se resolve com apenas uma linha curtinha de código.



é verdade Kerplunk, eu ja estou fazendo em algumas funções novas. realmente o codigo diminui bastante. a linha . e facil de entender e dar manutenção.
mais em outras partes q tenho no meu projeto. eu não encarei a mudar kkkkk 8mil linhas de codigos. 10mil kkkk em algumas telas q tenho .
mais as novas funções ja estou usando como base de tudo :D
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas