comment actualiser mon datagridview après je ajouter de nouvelles données
Je vais avoir beaucoup de mal à trouver des façons d'actualiser mon datagridview.. j'ai essayé datagridview.refresh(), datagridview.Mise à jour()....mais ça ne fonctionne pas...
voici mon code
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.Odbc
Imports System.Data.DataTable
Public Class Form1
Dim provider As String
Dim dataFile As String
Dim connString As String
Dim addstring As String
Dim cnn As OleDbConnection = New OleDbConnection
Dim ds As DataSet = New DataSet
Dim da As OleDbDataAdapter
Dim tables As DataTableCollection = ds.Tables
Dim cmd As New OleDb.OleDbCommand
Dim dr As System.Data.OleDb.OleDbDataReader
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
t_date.Text = Today
provider = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
dataFile = "C:\Users\hp-2\Documents\Visual Studio 2012\Projects\Delta\Delta.mdb"
connString = provider & dataFile
cnn.ConnectionString = connString
da = New OleDbDataAdapter("Select Customer_Name, Job, Amount from [Transaction] where Trans_date = Date()", cnn)
da.Fill(ds, "Transaction")
Dim view1 As New DataView(tables(0))
Dim source1 As New BindingSource()
source1.DataSource = view1
showdata.DataSource = view1
showdata.Refresh()
cnn.Close()
End Sub
J'ai essayé ceci mais ça ne fonctionne pas trop.
Private Sub showdat()
If Not cnn.State = ConnectionState.Open Then
cnn.Open()
End If
showdata.Refresh()
cnn.Close()
End Sub
...
Private Sub btmclose_Click(sender As Object, e As EventArgs) Handles btmclose.Click
Me.Close()
End Sub
Private Sub C_job_SelectedIndexChanged(sender As Object, e As EventArgs) Handles C_job.SelectedIndexChanged
Dim selected As String = C_job.SelectedItem.ToString()
If selected = "Internet" Then
t_amount.Text = "20"
php.Visible = True
ElseIf selected = "Games" Then
t_amount.Text = "10"
php.Visible = True
ElseIf selected = "Print (short)" Then
t_amount.Text = "1"
php.Visible = True
ElseIf selected = "Print (long)" Then
t_amount.Text = "2"
php.Visible = True
ElseIf t_amount.Text = "" Then
php.Visible = False
End If
End Sub
voici mon bouton AJOUTER... après j'ai cliquer dessus...les données est ajouté avec succès, mais le datagridview ne pas actualiser...
Private Sub btnadd_Click(sender As Object, e As EventArgs) Handles btnadd.Click
provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
dataFile = "C:\Users\hp-2\Documents\Visual Studio 2012\Projects\Delta\Delta.mdb"
connString = provider & dataFile
cnn.ConnectionString = connString
cnn.Open()
cmd.Connection = cnn
cmd.CommandText = "insert into [Transaction] (Customer_Name, Job, Trans_date, Amount ) " & _
" values ('" & C_name.Text & "','" & C_job.Text & "','" & t_date.Text & "','" & t_amount.Text & "')"
cmd.ExecuteNonQuery()
showdat()
cnn.Close()
End Sub
End Class
êtes-vous même à l'aide d'un DataGrid? ou essayez-vous de le faire avec un jeu de données et une Table créée à partir de l'ensemble de données plutôt que d'une grille de données à partir d'un DataSet>?
OriginalL'auteur hPys | 2013-08-12
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème, c'est que vous êtes en train d'ajouter une nouvelle entrée à la base de données, mais pas la structure de données de la grille de données représente. Vous êtes seulement à l'interrogation de la base de données dans l'événement load, donc, si les modifications de base de données après que vous n'allez pas le savoir.
Pour résoudre le problème, vous devez ré-interroger la base de données après chaque insertion, ou d'ajouter l'article à des tables(0) structure de données en plus de l'Accès de la table après chaque insertion.
Ouais, ça devrait le faire, n'est-elle?
Yup, Il fonctionne, mais le problème, c'est juste le double de l'affichage dans la grille de données....exemple: il y a un écran de "1" dans la gatagridview puis quand j'ai ajouter des données "2", l'affichage sera "1" "2" puis "1" encore une fois " et "2"...
Essayez juste de réglage showdata.DataSource = tables(0). Je pense que votre vue1 et source1 variables est peut-être inutile.
OriginalL'auteur Seth Moore
souhaite que cela aidera
Créer La Fonction
OriginalL'auteur user3705692
essayer
comme sur cette réponse
Comment puis-je actualiser mon Datagrid sur WPF automatiquement pour chaque 1 minute?
désolé, il devrait être
DataGrid
et pasDataGridView
il semble que ça devrait être
en supposant que c'est votre Objet DataGrid
il devrait être le
DataGrid
et pas leDataGridView
le même message d'erreur que j'ai eu..
vous devez utiliser le nom de l'objet DataGrid que vous avez créé pour la page. pas
DataGrid
de sorte qu'il seraitmyDataGridICreated.Items.Refresh();
dans le code du bouton. et je ne vois pas un DataGrid d'être appelé dans le code que vous avez montré jusqu'à présent.showdata.Éléments.Refresh() ...il a le même message d'erreur
OriginalL'auteur Malachi
J'ai trouvé ce code fonctionne si vous essayez d'actualiser un lié datagridview avec la mise à jour des données d'un dataset. Évidemment, c'était après que j'ai envoyé la mise à jour de la base de données.
OriginalL'auteur taju
Il recharge le datagridview:
Espère que cette aide
OriginalL'auteur Marc Chemali
Vous pouvez utiliser une source de liaison pour lier à votre datagridview.
Définissez votre classe ou de la liste de données.
Définir un bindingsource.source de données égale à celle.
Définir la source de données de votre datagridview à votre bindingsource.
OriginalL'auteur Corey Burton
Si vous utilisez
formview
ou quelque chose de similaire, vous pouvezdatabind
lagridview
sur leiteminserted
cas de laformview
trop. Comme ci-dessousVous pouvez le faire sur la source de données
iteminserted
trop.OriginalL'auteur user227103
recharger le formulaire
OriginalL'auteur RoganRicheart
OriginalL'auteur user6161010