-
Conteúdo Similar
-
Por Estevão Alves Avelino
Estou com duvidas de como pegar os dados digitados no DataGridView e jogar dentro de variáveis, se alguém souber uma maneira de fazer isso ficarei muito grato!
-
Por drapn
Boa tarde pessoal
Estou com um projeto em Vb.Net que consiste em importar dados de uma planilha de Excel para um Datagridview.
O projeto esta funcionando tudo ok porem notei que quando vou movendo as barras laterais e inferiores o formulário apresenta grande lentidão para mover as colunas etc...
Fiz o teste criando um projeto novo com somente 1 Form, 1 Datagrid e 1Botão e os códigos para fazer a importação e quando eu "populo" o datagridview com o conteudo ele apresenta esses legs.
Alguem a ja passou por isso?
Será que é configuração da máquina? (Não é uma máquina tão fraca)
O Vb.NET é a versão 2015
Os arquivos de Excel variam de 80 Linhas por 5 Colunas á 400 linhas e 5 colunas
O código é esse:
Sub ImportaEstoque() Dim Local Local = EndArquivo() If String.IsNullOrWhiteSpace(Local) Then MessageBox.Show("Nenhum arquivo foi selecionado.", "Informação.", MessageBoxButtons.OK, MessageBoxIcon.Information) Return End If '------------------------------ Dim caminhoArquivoExcel As String = Local Dim nomePlanilhaExcel As String = "ESTQ" & "$" Dim conexaoOleDb As OleDbConnection = Nothing Dim ds As DataSet Dim cmd As OleDbDataAdapter '------------------------------ Try 'conexaoOleDb = New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Local & ";Extended Properties=Excel 8.0;") conexaoOleDb = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " & Local & ";Extended Properties='Excel 8.0;HDR=Yes'") 'cmd = New OleDbDataAdapter("Select * from [" & nomePlanilhaExcel & "]", conexaoOleDb) cmd = New OleDbDataAdapter("Select * from [" & nomePlanilhaExcel & "] Where UM Like '%" & "PC" & "%'", conexaoOleDb) cmd.TableMappings.Add("Table", "tabelaExcel") ds = New DataSet cmd.Fill(ds) dgvDados.DataSource = ds.Tables(0) Catch ex As Exception MessageBox.Show(ex.ToString, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally conexaoOleDb.Close() End Try sbQtdItens.Text = "Encontrados " & dgvDados.RowCount.ToString & " itens." End Sub
Pessoal desde já muito obrigado pela força!
-
Por eduardohaag
Olá, sou autodidata e amador na área da programação, muito do que sei, é feito pelo modo feito na raça com linhas e linhas de códigos.
Hoje trabalhando em um novo projeto me deparei com uma situação que nunca me ocorreu, imprimir um relatório.
No meu projeto tenho um form onde possui um datagridview onde é apresentada uma lista de produtos e alguns textbox que permite eu filtrar os dados apresentados, esse filtro é realizado utilizando comando direto na query, ou seja pra cada caso tenho uma query diferente.
Até ai tudo bem, o problema que agora preciso imprimir os dados que tenho no datagridview, e não tenho a menor ideia de como fazer isso.
Alguém saberia me dizer como posso fazer?
-
Por d_albino
Bom dia!
Estou com o seguinte problema ao carregar o registro selecionado: Quando a Grid carrega e eu seleciono, ela leva para um form e eu consigo atualizar perfeitamente, porém, ao fechar o form e repetir a operação, ele traz o primeiro registro do banco, independente dele atender os requisitos solicitados
Segue código:
Public Class Form3 Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load PCarregaDados() End Sub Private Sub PCarregaDados() Using con As SqlConnection = GetConnection() Try con.Open() Dim sql As String = "SELECT idchamado, tiposolicitacao, nomefuncionario,nomesetor,descricaochamado, dataabertura, chamadoencerrado, dataencerramento, meiosolicitacao, logincriador FROM TblChamado INNER JOIN TblSetor nomesetor on (idsetor = setorfuncionario) INNER JOIN TblSolicitacao tiposolicitacao on (idsolicitacao = solicitacaotipo) INNER JOIN TblViaSolicitacao meiosolicitacao on (idmeiosolicitacao = solicitacaomeio) WHERE (TblChamado.chamadoencerrado = 0)" 'Dim sql As String = "SELECT * FROM TblChamado" Dim cmd As SqlCommand = New SqlCommand(sql, con) Dim da As SqlDataAdapter = New SqlDataAdapter(cmd) Dim dt As DataTable = New DataTable da.Fill(dt) dgvChamados.DataSource = dt 'dgvChamados.AllowUserToResizeColumns = False 'dgvChamados.MultiSelect = False 'dgvChamados.Columns.Item(0).HeaderText = "Chamado Nº" 'dgvChamados.Columns.Item(0).AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader 'dgvChamados.Columns.Item(1).HeaderText = "Tipo da Solicitação" 'dgvChamados.Columns.Item(1).Width = 250 'dgvChamados.Columns.Item(2).HeaderText = "Func.Solicitante" 'dgvChamados.Columns.Item(3).HeaderText = "Setor Solicitante" 'dgvChamados.Columns.Item(3).Width = 200 'dgvChamados.Columns.Item(4).HeaderText = "Descrição do Chamado " 'dgvChamados.Columns.Item(4).Width = 200 'dgvChamados.Columns.Item(5).HeaderText = "Data de Abertura" 'dgvChamados.Columns.Item(5).Width = 160 'dgvChamados.Columns.Item(6).HeaderText = "Encerrado" 'dgvChamados.Columns.Item(6).Visible = False 'dgvChamados.Columns.Item(7).HeaderText = "Data de Encerramento" 'dgvChamados.Columns.Item(7).Visible = False 'dgvChamados.Columns.Item(8).HeaderText = "Forma de Solicitação" 'dgvChamados.Columns.Item(8).Visible = False 'dgvChamados.Columns.Item(9).HeaderText = "Login Criador" 'dgvChamados.Columns.Item(9).Visible = False Catch ex As Exception MsgBox(ex.Message) Finally con.Close() End Try End Using End Sub Private Sub PListaChamados() intIdChamado = dgvChamados.CurrentRow().Cells(0).Value intSoltipo = dgvChamados.CurrentRow().Cells(1).Value strNomefunc = dgvChamados.CurrentRow().Cells(2).Value intSetor = dgvChamados.CurrentRow().Cells(3).Value strDescricao = dgvChamados.CurrentRow().Cells(4).Value datAbrechamado = dgvChamados.CurrentRow().Cells(5).Value booChamadoEnc = dgvChamados.CurrentRow().Cells(6).Value datEncChamado = dgvChamados.CurrentRow().Cells(7).Value intSolmeio = dgvChamados.CurrentRow().Cells(8).Value strLogcriador = dgvChamados.CurrentRow().Cells(9).Value Form4.ShowDialog() PCarregaDados() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub Private Sub dgvChamados_CellMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvChamados.CellMouseDoubleClick 'Form4.CmbSolicitacaoTipo.Enabled = False 'Form4.TxtNomeFuncionario.Enabled = False 'Form4.CmbSetorFuncionario.Enabled = False 'Form4.MskDataAbertura.Enabled = False 'Form4.CmbSolicitacaoMeio.Enabled = False 'Form4.BtnAdNovo.Enabled = False 'Form4.BtnExcluir.Enabled = False 'Form4.BtnSalvar.Enabled = False PListaChamados() End Sub End Class -
Por João Fernandes dos Santos
Pessoal, boa tarde.
Estou com o seguinte problema eu carrego meu datagridview através do código que irei postar abaixo, porém no datagridview esta me retornando um registro em branco, ou seja, o último registro dele ele traz um registro vazio, e isso esta dando erro em minha aplicação caso o usuário escolha essa linha.
Como posso fazer para eliminar essa linha, o porque ele traz essa ultima linha em branco?
Protected Sub CarregaGrid(strsql As String) ' Vincula o DataGridView ao BindingSource e carrega os dados do banco de dados Me.DataGridView1.DataSource = Me.BindingSource1 exibeDados(strsql) Me.DataGridView1.DefaultCellStyle.SelectionForeColor = Color.Yellow Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Blue Me.DataGridView1.Columns(3).Visible = False Me.DataGridView1.Columns(6).Visible = False Me.DataGridView1.Columns(7).Visible = False End Sub Private Sub DataGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView1.SelectionChanged RowSelecionada = DataGridView1.CurrentRow.Index End Sub Private Sub exibeDados(ByVal selectCommand As String) Dim dataAdapter As New SqlDataAdapter(selectCommand, SCLConnectionString) Dim commandBuilder As New SqlCommandBuilder(dataAdapter) Dim table As New DataTable() table.Locale = System.Globalization.CultureInfo.InvariantCulture dataAdapter.Fill(table) BindingSource1.DataSource = table DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader) End Sub
-