MUDANDO TEXT BOX CONFORME RESULTADO
Olá !!!
Eu gostaria de fazer isso:
If txtDias.Text > 0 Then
txtSituacao.Text = [Ô]BLOQUEADO[Ô]
Else
txtSituacao.Text = [Ô]DISPONÃVEL[Ô]
End If
Porém, no DataGridView , é possÃvel ? Sem a necessidade de criar um campo no banco de dados...
Eu gostaria de fazer isso:
If txtDias.Text > 0 Then
txtSituacao.Text = [Ô]BLOQUEADO[Ô]
Else
txtSituacao.Text = [Ô]DISPONÃVEL[Ô]
End If
Porém, no DataGridView , é possÃvel ? Sem a necessidade de criar um campo no banco de dados...
[ô] Definir os dias restantes:
Me.DataGridView1.Rows(0).Cells(1).Value = CDate(Me.DataGridView1.Rows(0).Cells(5).Value).Day - CDate(Me.DataGridView1.Rows(0).Cells(4).Value).Day
[ô] Definir a situação:
If Me.DataGridView1.Rows(0).Cells(2).Value > 0 Then
Me.DataGridView1.Rows(0).Cells(2).Value = [Ô]BLOQUEADO[Ô]
Else
Me.DataGridView1.Rows(0).Cells(2).Value = [Ô]DISPONÃVEL[Ô]
End If
Obrigado !!
Funcionou, porém só na primeira linha... Não entendi o porque...
Funcionou, porém só na primeira linha... Não entendi o porque...
Porque no exemplo do JONATHANSTECKER, observe que ele coloca row(0).
vc precisa informar o numero da linha, altere para:
Me.DataGridView1.Rows(e.rowindex), ou o numero da linha conforme a situação e ou evento utilizado.
vc precisa informar o numero da linha, altere para:
Me.DataGridView1.Rows(e.rowindex), ou o numero da linha conforme a situação e ou evento utilizado.
Deu erro trocar (0) por (e.rowindex)
E eu preciso deixá-lo automático para quando o usuário preencher, já aparecer
E eu preciso deixá-lo automático para quando o usuário preencher, já aparecer
Rows(0)
0 é o Index da linha. Você pode preencher usando um For Each, preencher conforme adiciona no grid, preencher quando alterar um envento...
A lógica é esta, fica a seu critério como e onde utilizá-lo.
0 é o Index da linha. Você pode preencher usando um For Each, preencher conforme adiciona no grid, preencher quando alterar um envento...
A lógica é esta, fica a seu critério como e onde utilizá-lo.
Eu tentei o seguinte:
For Each row As DataGridViewRow In VoluntariosDataGridView1.Rows
If Me.VoluntariosDataGridView1.Rows(0).Cells(2).Value > 0 Then
Me.VoluntariosDataGridView1.Rows(0).Cells(1).Value = [Ô]BLOQUEADO[Ô]
Else
Me.VoluntariosDataGridView1.Rows(0).Cells(1).Value = [Ô]DISPONÃVEL[Ô]
End If
Next
Não dá erro, mas também não dá certo ! hahah DataGrid confunde minha cabeça !!
For Each row As DataGridViewRow In VoluntariosDataGridView1.Rows
If Me.VoluntariosDataGridView1.Rows(0).Cells(2).Value > 0 Then
Me.VoluntariosDataGridView1.Rows(0).Cells(1).Value = [Ô]BLOQUEADO[Ô]
Else
Me.VoluntariosDataGridView1.Rows(0).Cells(1).Value = [Ô]DISPONÃVEL[Ô]
End If
Next
Não dá erro, mas também não dá certo ! hahah DataGrid confunde minha cabeça !!
Cara,
Primeiro você deve entender a lógica:
Se 0 representa a 1ª linha, então 1 representará a 2ª linha;
Se 2 representa a 3ª linha, então 3 representará a 4ª linha;
e assim por diante.
Então se você usar o [txt-color=#0000f0]For Each[/txt-color] você precisará fornecer um contador que será incrementado a cada loop.
exemplo:
Primeiro você deve entender a lógica:
Se 0 representa a 1ª linha, então 1 representará a 2ª linha;
Se 2 representa a 3ª linha, então 3 representará a 4ª linha;
e assim por diante.
Então se você usar o [txt-color=#0000f0]For Each[/txt-color] você precisará fornecer um contador que será incrementado a cada loop.
exemplo:
Dim contador as UInt32 = 0
For Each row As DataGridViewRow In VoluntariosDataGridView1.Rows
If Me.VoluntariosDataGridView1.Rows(contador).Cells(2).Value > 0 Then
Me.VoluntariosDataGridView1.Rows(contador).Cells(1).Value = [Ô]BLOQUEADO[Ô]
Else
Me.VoluntariosDataGridView1.Rows(contador).Cells(1).Value = [Ô]DISPONÃVEL[Ô]
End If
contador += 1
Next
Funcionou perfeitamente !! :D Obrigado à todos !!
Só estou tendo erro ao calcular a diferença de datas...
Código para calcular as datas:
Código para calcular as datas:
Citação:Dim contador As UInt32 = 0
Dim data1 As Date
Dim data2 As Date
Dim Difference As TimeSpan
For Each row As DataGridViewRow In VoluntariosDataGridView1.Rows
data1 = Convert.ToDateTime(Me.VoluntariosDataGridView1.Rows(contador).Cells(4).Value)
data2 = Convert.ToDateTime(Me.VoluntariosDataGridView1.Rows(contador).Cells(5).Value)
Difference = data2.Subtract(data1)
Me.VoluntariosDataGridView1.Rows(contador).Cells(2).Value = FormatNumber(Difference.TotalDays, 0)
contador += 1
Next
Eu consegui a seguinte solução:
Colocar esse código:
No Form Load... , mas só consigo ver os resultados ao fechar e abrir novamente o Form... e para salvar os resultados no banco de dados, necessito toda vez Salvar ao fechar, e abrir para mostrar os resultados novamente e salvar novamente, e então os resultados ficam no banco de dados...
Já tentei colocar o código no CellEndEdit no DataGrid, mas quando eu coloco a primeira data e o datagrid já tenta calcular e da erro.
Alguém sabe uma solução ?
Obrigado !!
Colocar esse código:
Citação:[th]
Cabecalho [/th]Private Sub Consulta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.VoluntariosTableAdapter.Fill(Me.DatabaseDataSet.Voluntarios)
Dim contador As UInt32 = 0
Dim data1 As Date
Dim data2 As Date
Dim Difference As TimeSpan
For Each row As DataGridViewRow In VoluntariosDataGridView1.Rows
data1 = Convert.ToDateTime(Me.VoluntariosDataGridView1.Rows(contador).Cells(4).Value)
data2 = Convert.ToDateTime(Me.VoluntariosDataGridView1.Rows(contador).Cells(5).Value)
Difference = data2.Subtract(data1)
Me.VoluntariosDataGridView1.Rows(contador).Cells(2).Value = FormatNumber(Difference.TotalDays, 0)
If Me.VoluntariosDataGridView1.Rows(contador).Cells(2).Value > 0 Then
Me.VoluntariosDataGridView1.Rows(contador).Cells(1).Value = [Ô]BLOQUEADO[Ô]
Else
Me.VoluntariosDataGridView1.Rows(contador).Cells(1).Value = [Ô]DISPONÃVEL[Ô]
End If
contador += 1
Next
End Sub
No Form Load... , mas só consigo ver os resultados ao fechar e abrir novamente o Form... e para salvar os resultados no banco de dados, necessito toda vez Salvar ao fechar, e abrir para mostrar os resultados novamente e salvar novamente, e então os resultados ficam no banco de dados...
Já tentei colocar o código no CellEndEdit no DataGrid, mas quando eu coloco a primeira data e o datagrid já tenta calcular e da erro.
Alguém sabe uma solução ?
Obrigado !!
Tópico encerrado , respostas não são mais permitidas