DATAGRIDVIEW
Olá amigos, bom dia a todos.
assim estou carregando todas as colunas da tabela.
preciso especificar apenas 5 colunas
como proceder a parti desse código acima.
assim estou carregando todas as colunas da tabela.
ConectarBD()
Dim Dados As New DataTable
Dim Adapta As New FbDataAdapter([Ô]SELECT * FROM PRODUTO[Ô], strConexao)
Adapta.Fill(Dados)
FlexGrid.DataSource = Dados
strConexao.Close()
preciso especificar apenas 5 colunas
como proceder a parti desse código acima.
Especifique esses campos diretamente na sua consulta:
Dim Adapta As New FbDataAdapter([Ô]SELECT [txt-color=#e80000]campo1, campo2, campo3, campo4, campo5[/txt-color] FROM PRODUTO[Ô], strConexao)
Citação::
Especifique esses campos diretamente na sua consulta:Dim Adapta As New FbDataAdapter([Ô]SELECT [txt-color=#e80000]campo1, campo2, campo3, campo4, campo5[/txt-color] FROM PRODUTO[Ô], strConexao)
amigo, obrigado, pela ajuda.
mas era isso aqui que precisava.
dataGridView1.AutoGenerateColumns = False
Porem, não carrega mais os dados.
eu coloquei as colunas fixa na própria grid
Elimine essas colunas que você criou manualmente e faça como te passei.
www.macoratti.net/vbn_dgv2.htm
www.macoratti.net/15/01/vbn_dgvc1.htm
Dim Dados As New DataTable
Dim Adapta As New FbDataAdapter([Ô]SELECT campo1, campo2, campo3, campo4, campo5 FROM PRODUTO[Ô], strConexao)
Adapta.Fill(Dados)
[txt-color=#e80000]dataGridView1[/txt-color].DataSource = Dados
www.macoratti.net/vbn_dgv2.htm
www.macoratti.net/15/01/vbn_dgvc1.htm
esta carregando todas as colunas da tabela
PCODIGO INTEGER,
GRUPO INTEGER,
TIPO CHAR(2),
DESCRICAO CHAR(150),
MARCA_PRODUTO CHAR(20),
FORNECEDOR INTEGER DEFAULT 0,
REFERENCIA CHAR(20),
LOCAL CHAR(10),
UN CHAR(2),
NCM CHAR(8),
CEST CHAR(8),
CODANP CHAR(15),
PESO NUMERIC(6,2) DEFAULT 0,
PRECO_C DECIMAL(8,2) DEFAULT 0,
CMC DECIMAL(15,3),
PRECO_V DECIMAL(8,2) DEFAULT 0,
MAXDESC DECIMAL(8,2) DEFAULT 0,
SALDO NUMERIC(12,3) DEFAULT 0,
E_CRITICO NUMERIC(5,3) DEFAULT 0,
PRAZOENTREGA INTEGER DEFAULT 0,
ICMS DECIMAL(4,2) DEFAULT 0,
ICMSST SMALLINT DEFAULT 0,
IPI DECIMAL(4,2) DEFAULT 0,
COMISSAO DECIMAL(4,2) DEFAULT 0,
LINK INTEGER,
MARCA CHAR,
INFADICIONAL BLOB SUB_TYPE TEXT
Preciso carregar apenas essas colunas
.DataSource = Nothing
.Rows.Clear()
.ColumnCount = 5
.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.MiddleRight
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
Catch ex As Exception
MsgBox(ex.Message)
Finally
strConexao.Close()
End Try
End Sub
Você esta colocando um pedaço de linha de código fora do contexto,
dentro de um contexto.
[txt-color=#e80000]Flexgrid.Datasource = Dados[/txt-color] [ô][txt-color=#e80000] Flexgrid[/txt-color]
Código acima e preenchimento mencionado.
Use o List<t> como o seu Kerplunk sempre diz.
Retire código acima como postado e execute.
Ai tu vai entender.
dentro de um contexto.
[txt-color=#e80000]Flexgrid.Datasource = Dados[/txt-color] [ô][txt-color=#e80000] Flexgrid[/txt-color]
Código acima e preenchimento mencionado.
Use o List<t> como o seu Kerplunk sempre diz.
Retire código acima como postado e execute.
Ai tu vai entender.
é como o JABA mostrou: você precisa criar um DataGridView sem especificar nenhuma coluna, e depois especificar as colunas que serão mostradas diretamente na consulta sql.
No meu caso, estou fazendo a consulta usando LINQ, mas o princÃpio é o mesmo:
No meu caso, estou fazendo a consulta usando LINQ, mas o princÃpio é o mesmo:
var dados = from b in db.Cliente
orderby b.Nome
select new { codigo, nome, endereco, cidade, estado };
dgv.DataSource = dados.ToList();
Bom Pessoal, como iniciante e apanhando e muito, é praticando que se aprende.
só não entendi por que não esta pegando a .Columns(1).HeaderText = [Ô]Descrição[Ô] tÃtulo da grid.
já que a Header exibida é do campo da tabela.
por exemplo, formatar as casas decimais, alinhamento das colunas. etc...
obrigado.
só não entendi por que não esta pegando a .Columns(1).HeaderText = [Ô]Descrição[Ô] tÃtulo da grid.
já que a Header exibida é do campo da tabela.
por exemplo, formatar as casas decimais, alinhamento das colunas. etc...
obrigado.
Elimine isto,
.DataSource = Nothing
.Rows.Clear()
.ColumnCount = 5
.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
Execute e veja.
inté.
.DataSource = Nothing
.Rows.Clear()
.ColumnCount = 5
.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
Execute e veja.
inté.
O que escapando ao seu entendimento:
O DataGridView, é simplesmente uma representação dos dados à ele passados. Se você faz uma query onde todos os campos constam e passar o resultado dessa query ao DGV, todos os campos serão exibidos. Se você quer apenas alguns campos, você especifica isso na query.
O DataGridView, é simplesmente uma representação dos dados à ele passados. Se você faz uma query onde todos os campos constam e passar o resultado dessa query ao DGV, todos os campos serão exibidos. Se você quer apenas alguns campos, você especifica isso na query.
Ok, amigos, entendido, preciso saber qual a forma de formatar as colunas com casas decimais. ou ajustar o alimento delas ?
pensei que pudesse mudar o nome do cabeçalho de cada coluna : .Columns(0).HeaderText = [Ô]Descrição[Ô] tirar o valor que vem da tabela.
Ficou assim..
pensei que pudesse mudar o nome do cabeçalho de cada coluna : .Columns(0).HeaderText = [Ô]Descrição[Ô] tirar o valor que vem da tabela.
Ficou assim..
adaptador = New FbDataAdapter([Ô]SELECT PCODIGO, DESCRICAO, REFERENCIA, PRECO_C, PRECO_V FROM PRODUTO WHERE DESCRICAO like [ô][Ô] & txt_PesqNome.Text + [Ô]%[Ô] & [Ô][ô][Ô], strConexao)
Tópico encerrado , respostas não são mais permitidas