2010-11-04 8 views
0

Je crée un Datagridview par programme dans un fichier dll. Il est une source de données est Datatable, et mon code est en tant que tel:C# datagridview datasource

DataGridView dgv = new DataGridView(); 
DataSet ds = new DataSet(); 
ds.ReadXml(rdr); 
DataTable dt = ds.Tables[0]; 

dgv.DataSource = dt; 

Pourquoi quand je vérifie combien de colonnes et de lignes de la grille de données a, il montre que rien. Bien que, quand je fais la même chose sur le Datatable, cela montre qu'il y a des données. Le gridview doit-il être réellement sur un formulaire pour qu'il soit rempli?

Merci.

+0

Est-ce dans WinForms ou WPF ou quoi?! –

+0

donc 'dgv.Rows.Count' et' dgv.Columns.Count' retournent 0? –

+1

Un DataGridView est des windorms. Dans ASP.NET, c'est juste un GridView. – David

Répondre

2

Apparemment, c'est le cas. J'ai créé une nouvelle application WinForms, copié votre code dans l'événement Form_Load, ajouté ces deux lignes immédiatement après votre code et obtenu des résultats.

this.Controls.Add(dgv); 
MessageBox.Show(dgv.Rows.Count.ToString()); 

Si je commente la première ligne le compte est 0.

+0

Cela fonctionne parfaitement. Merci. –

Questions connexes