2017-10-04 3 views
0

Noob ici, j'ai importé la base de données SQL comme source de données dans l'application formulaires mais lorsque je clique sur l'aperçu, aucune ligne n'est affichée.VB.Net Remplissage de DataGridview avec des lignes de tableau dataset1

Public Class Form1 
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    'TODO: This line of code loads data into the "DataSet1.Ac_Billbook" table. You can move, or remove it, as needed. 
    'Me.Ac_BillbookTableAdapter.Fill(Me.DataSet1.Ac_Billbook) 
    For Each table In DataSet1.Tables 
     ComboBox1.Items.Add(table.ToString) 
    Next 
    End Sub 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     DataGridView1.DataSource = DataSet1.Tables(ComboBox1.SelectedItem) 
    'DataGridView1.DataBind() 
    End Sub 
End Class 

Output

L'idée est que je serais en mesure de prévisualiser les champs de table en regardant une table et de voir rapidement.

+0

Try 'DataSet1.Tables (ComboBox1.SelectedItem) .DefaultView' –

+0

Le GridView est maintenant complètement vide –

Répondre

0

Vous pouvez décomposer la ligne où vous affectez la table comme source de données, de sorte que vous pouvez utiliser un point d'arrêt et utiliser une fonctionnalité "visualiseur de dataset" (petite icône avec loupe l'affichera) du VS pour vérifier la table contenu.

enter image description here enter image description here

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim dt as New DataTable 
    dt = DataSet1.Tables(ComboBox1.SelectedItem).DefaultView 
    DataGridView1.DataSource = dt 
End Sub 

Mettez un point d'arrêt sur la ligne avec "DataGridView1.DataSource = dt" et un coup d'oeil, si le datatable a les lignes souhaitées. Si aucune donnée est là, tester aussi avec la première table:

dt = DataSet1.Tables(0).DefaultView 

S'il n'y a pas encore de données, vous obtenez rien de votre table de DB (s). ` ` dt = DataSet1.Tables (ComboBox1.SelectedItem) .DefaultView):

+0

obtenir une erreur sur cette ligne Impossible de convertir un objet de type 'System.Data.DataView' en type 'System.Data.DataTable'. –

+0

Hmm, dénudez ".DefaultView" alors. Je vois que j'utilise .DefaultView avec DataSource seulement. Ça devrait marcher. –

+0

Ok semble afficher les en-têtes des colonnes selon mon message d'origine - pas de lignes - dois-je spécifier un datamember? –