DATAGRIDVIEW

KERPLUNK 17/04/2017 18:46:23
#473345
Simples. Use OOP, decore suas propriedades adequadamente e pronto. Em alguns minutos você vai ter muito mais resultado do que dessa maneira procedural.
MOREIRA 17/04/2017 19:36:48
#473347
Citação:

:
Simples. Use OOP, decore suas propriedades adequadamente e pronto. Em alguns minutos você vai ter muito mais resultado do que dessa maneira procedural.



tens algum material para esse fim, que posso compartilhar para fins didático ?
OMAR2011 17/04/2017 19:51:25
#473349
Tente deste jeito para familiarizar.
With DataGridView2
.DataSource = Nothing
.Rows.Clear()
.ColumnCount = 3

.Columns(0).HeaderText = [Ô]ID[Ô]
.Columns(0).Width = 30
.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter

.Columns(1).HeaderText = [Ô]Descrição[Ô]
.Columns(1).Width = 430
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft

.Columns(2).HeaderText = [Ô]Preço Compra[Ô]
.Columns(2).Width = 100
.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight

.Columns(2).DefaultCellStyle.Format = [Ô]C2[Ô]

End With
Using con As New FirebirdSql.Data.Firebird.FbConnection([Ô]Server=localhost;User=SYSDBA;Password=masterkey;Database=[Ô] & My.Application.Info.DirectoryPath & [Ô]\Delicias.FDB[Ô])

Try
con.Open()
Dim cmd As New FbCommand([Ô]SELECT * FROM produtos[Ô], con)
Dim dr As FbDataReader
dr = cmd.ExecuteReader
While dr.Read()
DataGridView2.Rows.Add({dr.Item([Ô]CODIGO[Ô]), dr.Item([Ô]DESCRICAO[Ô]), dr.Item([Ô]PRECO_C[Ô])})

End While
Catch ex As FbException
MsgBox(ex.Message)
End Try
End Using
PLUGSOFTSM 17/04/2017 19:59:36
#473351
Amigo Moreira

Vi que vc criou as colunas no DataGrid, provavelmente para poder formatar a fonte, largura, alinhamento, etc das mesmas

Se vc não conseguiu resolver teu problema proceda da seguinte maneira:
Adicione na propriedade DataPropertyName da coluna o nome do campo que vai ser recuperado na consulta
Depois faça a consulta especificando cada coluna com seu respectivo nome
Por exemplo:
Imagine que vc queria Listar os campos D_Nome, D_Aniver, D_cep da tabela clientes

Vc criou três colunas no datagridview e adicionou os seguintes nomes na propriedade DataPropertyName : Nome, Datanasc e CEP
Tua consulta tem que ficar assim

Select D_Nome as Nome, D_Aniver as DataNasc, D_Cep as Cep from Clientes....

MOREIRA 17/04/2017 21:56:23
#473359
Sequindo o exemplo do amigo OMAR2011...

Ao executa

percebo que carrega valores.

DAMASCENO.CESAR 18/04/2017 07:00:53
#473364
depois de abastecer o grid, use isso:

.Columns(0).HeaderText = [Ô]ID[Ô]
.Columns(0).Width = 30
.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter

.Columns(1).HeaderText = [Ô]Descrição[Ô]
.Columns(1).Width = 430
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft

.Columns(2).HeaderText = [Ô]Cód.Ref.Barra[Ô]
.Columns(2).Width = 120
.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft

.Columns(3).HeaderText = [Ô]Preço Compra[Ô]
.Columns(3).Width = 100
.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight

.Columns(4).HeaderText = [Ô]Preço Venda[Ô]
.Columns(4).Width = 100
.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRigh
MOREIRA 18/04/2017 09:59:56
#473369
  Try
ConectarBD()

Dim cmd = New FbCommand([Ô]SELECT PCODIGO, DESCRICAO, PRECO_C FROM PRODUTO WHERE DESCRICAO like [ô][Ô] & txt_PesqNome.Text + [Ô]%[Ô] & [Ô][ô][Ô], strConexao)
cmd.CommandType = CommandType.Text
Dim dr As FbDataReader
Dim l As Integer
l = 0
FlexGrid.Rows.Clear()
dr = cmd.ExecuteReader
If dr.HasRows Then
While dr.Read()
[ô][ô][ô][ô]FlexGrid.Rows.Add({dr.Item([Ô]PCODIGO[Ô]), dr.Item([Ô]DESCRICAO[Ô]), dr.Item([Ô]PRECO_C[Ô])}) [ô]SEM USO
[txt-color=#e80000] MsgBox(dr.Item(1))[/txt-color]

End While
End If
dr.Close()
Catch ex As FbException
MsgBox(ex.Message)
Finally
strConexao.Close()

End Try



coloquei assim pra testar e carrega os dados no msgbox. e nada na grid

OMAR2011 18/04/2017 10:50:27
#473370
Quando você usa o preenchimento do Datagridview sem o DataSource deve ser assim.
Você não esta usando como foi mencionado.

With DataGridView2
.DataSource = Nothing
.Rows.Clear()
.ColumnCount = 3

.Columns(0).HeaderText = [Ô]ID[Ô]
.Columns(0).Width = 30
.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter

.Columns(1).HeaderText = [Ô]Descrição[Ô]
.Columns(1).Width = 430
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft

.Columns(2).HeaderText = [Ô]Preço Compra[Ô]
.Columns(2).Width = 100
.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight

.Columns(2).DefaultCellStyle.Format = [Ô]C2[Ô]

End With
Try
ConectarBD()

Dim cmd = New FbCommand([Ô]SELECT PCODIGO, DESCRICAO, PRECO_C FROM PRODUTO WHERE DESCRICAO like [ô][Ô] & txt_PesqNome.Text + [Ô]%[Ô] & [Ô][ô][Ô], strConexao)
cmd.CommandType = CommandType.Text
Dim dr As FbDataReader
Dim l As Integer
l = 0
FlexGrid.Rows.Clear()
dr = cmd.ExecuteReader
If dr.HasRows Then
While dr.Read()
FlexGrid.Rows.Add({dr.Item([Ô]PCODIGO[Ô]), dr.Item([Ô]DESCRICAO[Ô]), dr.Item([Ô]PRECO_C[Ô])}) [ô]SEM USO
MsgBox(dr.Item(1))

End While
End If
dr.Close()
Catch ex As FbException
MsgBox(ex.Message)
Finally
strConexao.Close()

End Try
PERCIFILHO 18/04/2017 13:42:00
#473379
Colega Moreira, você então mudou o jeito de preencher o grid. Você postou no início que estava preenchendo assim:
 Private Sub txt_PesqNome_TextChanged(sender As Object, e As EventArgs) Handles txt_PesqNome.TextChanged
Try
ConectarBD()
Dim adaptador As FbDataAdapter
Dim Dados As DataTable
adaptador = New FbDataAdapter([Ô]SELECT PCODIGO, DESCRICAO, REFERENCIA, PRECO_C, PRECO_V FROM PRODUTO WHERE DESCRICAO like [ô][Ô] & [Ô]%[Ô] + txt_PesqNome.Text + [Ô]%[Ô] & [Ô][ô][Ô], strConexao)
Dados = New DataTable
adaptador.Fill(Dados)
FlexGrid.DataSource = Dados //// FlexGrid.DataSource = Dados.ToList()
Catch ex As Exception
MsgBox(ex.Message)
Finally
strConexao.Close()
End Try
End Sub

Agora você está usando DataReader. Dessa maneira não irá funcionar. Faça da maneira que estava fazendo anteriormente usando o DataSource, assim como o Jaba te disse e depois disso feito, aí você pode alterar as propriedades das colunas da maneira que o Damasceno postou. Eu alteraria apenas a linha do DataSource colocando o ToList().
OMAR2011 18/04/2017 14:03:51
#473380
Você PERCIFILHO tem condições e mudar o nome de uma coluna usando o DataSource do Datagridview e adicionar uma linha.
Olhe isto.
.Columns(4).HeaderText = [Ô]Preço Venda[Ô] [ô] Este é da Tabelea [txt-color=#e80000]PRECO_V [/txt-color]
.Columns(4).Width = 100
.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRigh

Para o Moreira,ele tem que criar as colunas antes ou via código.
Página 2 de 3 [23 registro(s)]
Tópico encerrado , respostas não são mais permitidas