DataGridView ne s'affiche pas DataTable
J'ai le code suivant qui je pense, devrait être de la liaison d'une DataTable à un DataGridView, mais le DataGridView s'affiche vide. La DataTable certainement a des lignes, donc je suppose que je suis de liaison de la source de données d'une façon incorrecte. Personne ne voir quel est le problème avec ceci:
DataBase db = new DataBase(re.OutputDir+"\\Matches.db");
MatchDBReader reader = new MatchDBReader(db.NewConnection());
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = reader.GetDataTable();
this.dataGridView1.DataSource = bindingSource.DataSource;
- La première ligne obtient tout simplement une poignée pour la bd que je suis en tirant des données.
- La ligne suivante est une fournit une classe de lecture à partir de la même db - en particulier, il expose la GetDataTable méthode renvoie le tableau de données que j'ai l'intention de mettre dans le DataGridView.
- La ligne suivante est inintéressant...
- La 4ème ligne tente de saisir la DataTable - espion express indique que c'est le travail...
- La dernière ligne est l'endroit où je suppose que j'ai foiré...ma compréhension est que cette lie le DataTable à la DataGridView de l'interface, mais rien ne s'affiche.
Toutes les pensées?
Vous devez vous connecter pour publier un commentaire.
Essayer de liaison de la DataGridView directement à la BindingSource, et pas le BindingSource de la source de données:
Vous avez besoin de joindre votre BindingSource à votre grille, avant que vous obtenez le tableau de données.
Essayez de passer les deux dernières lignes de code:
Avec des solutions ci-dessus également fixer le "bindingSource" propriété datamember. comme:
J'ai eu le même problème avec la base de données sql et datagrid view. Après beaucoup de problèmes, j'ai découvert que j'ai oublié de le mettre de propriété dataMember de ma source de liaison.
meilleur de la chance.
Rien de tout cela a fonctionné pour moi, mais il semblait être de bons conseils. Ce que j'ai fait était le plus grand, le pire hack sur terre. Ce que j'espérais, à accomplir était simplement pour charger une table DB à partir d'un db SQLite et le présenter (en lecture seule, avec des colonnes triables) dans le DataGridView. La réelle DB serait par programme spécifié lors de l'exécution. J'ai défini l'ensemble de données par l'ajout d'un DataGridView à la forme et utilisé les Assistants statiquement définir la DB de la chaîne de connexion. Puis je suis allé dans les Paramètres.Le concepteur.cs fichier et l'ajout d'un
set
accesseur pour la Connexion aux bases de propriété de chaîne:C'est un klugey hack, mais il fonctionne. Des Suggestions sur la façon de nettoyer ce désordre sont plus que bienvenus.
brian
DataGridView
prend unDataTable
comme base. LeDataTable
Colonnes de sauver leur Type de propriété.Si ce type est une Interface tout ce que vous voyez sont des cellules vides.