Inquiridor
formatar coluna de datagridview

Pergunta
-
Todas as Respostas
-
-
-
Wagner,
Fiz aqui uns testes rapidamente a acabei nisto :
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim DataCompleta As String = TextBox.Text
Dim dia, mes, ano As String
Dim DataFormatada As String
ano = DataCompleta.Substring(0, 4)
mes = DataCompleta.Substring(4, 2)
dia = DataCompleta.Substring(6, 2)
DataFormatada = dia & "/" & mes & "/" & ano
For Each linha As DataGridViewRow In Me.TeuDataGridView.Rows
If linha.Cells(1).Value > "" Then
linha.Cells(1).Value = DataFormatada
End If
Next
End Sub
Não sei se vai ajudar, mas dá para alterar o código adaptando à tua maneira.
A data no formato aaaammdd fui buscar a uma texbox depois converti no formato dd/mm/yyyy e joguei para o DataGridView. Deu resultado. Se não conseguires adaptar ao teu caso, mais tarde dou uma vista de olhos para refinar o código.
Abraços
-
Jorge este exemplo ate poderia se o item se a origem fosse de um textbox mas o mesmo vem de uma tebela de access veja meu codigo que cria o dgv. note que no estring sql existe comando que retorna o campo "emissao" e este é o problema em que ponto pego o campo emissao e converto?
dgv.Columns.Clear()
'bloqueia o datagrid para não gerar colunasdgv.AutoGenerateColumns =
False Dim sql As String = "select id,tdoc,doc,emissao,valor,saldo from tblTitulo order by id" Dim ds As New DataSet Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sql, con)da.Fill(ds,
"tblTitulo")con.Close()
dgv.DataSource = ds
'ou ds.tables(0)dgv.DataMember = ds.Tables(0).TableName
dgv.CreateControl()
Dim txt0 As New DataGridViewTextBoxColumn() Dim txt1 As New DataGridViewTextBoxColumn() Dim txt2 As New DataGridViewTextBoxColumn() Dim txt3 As New DataGridViewTextBoxColumn() Dim txt4 As New DataGridViewTextBoxColumn() Dim txt5 As New DataGridViewTextBoxColumn() ''O HeaderText, ficará sendo o cabeçalho que aparecerá no seu DataGridViewtxt0.HeaderText =
"id"txt0.DataPropertyName =
"Id"txt1.HeaderText =
"Tipo Doc"txt1.DataPropertyName =
"tdoc"txt2.HeaderText =
"Doc"txt2.DataPropertyName =
"doc"txt3.HeaderText =
"Emissão"txt3.DataPropertyName =
"emissao"txt4.HeaderText =
"Valor"txt4.DataPropertyName =
"valor"txt4.DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
txt5.HeaderText =
"saldo"txt5.DataPropertyName =
"saldo" 'O Columns.Add adicionará ao seu DataGridView a "coluna desejada"dgv.Columns.Add(txt0)
dgv.Columns.Add(txt1)
dgv.Columns.Add(txt2)
dgv.Columns.Add(txt3)
dgv.Columns.Add(txt4)
dgv.Columns.Add(txt5)
end sub
-
Wagner,
Depois de criar as colunas no datagridview, faça rodar este código :
For Each linha As DataGridViewRow In Me.dgv.Rows
Dim DataFinal As String
Dim dia, mes, ano As String
If linha.Cells(3).Value > "" Then ‘Julgo que a coluna da data seja a 3, depois confirme
Dim DataInicial As String = linha.Cells(3).Value.ToString
ano = DataInicial.Substring(0, 4)
mes = DataInicial.Substring(4, 2)
dia = DataInicial.Substring(6, 2)
DataFinal = dia & "/" & mes & "/" & ano
linha.Cells(3).Value = DataFinal
End If
Next
Depois informa se deu certo.
Abraços
-