2011-05-20 3 views
1

J'ai un DataGrid dire Grid1 et j'ai une datatable appelée Dt dans le codebehind où les noms de colonne et les données changeront toujours. Je donne la ItemsSource comme indiqué ci-dessousNoms de colonne dans DataGrid

Grid1.ItemsSource=Dt.DefaultView; 

Dans ce cas, si je n'ai pas de lignes dans la table de données, mais il a juste les noms de colonnes mais je dois montrer les noms de colonnes dans la grille de données.

Répondre

0

La façon dont fonctionne le DataGrid est de déduire les colonnes automatiques à partir des données de ligne elles-mêmes. S'il n'y a pas de lignes, il ne génère aucune colonne!

Vous pouvez contourner ce problème en ajoutant simplement une ligne vide lorsque la table n'a pas de lignes:

if (Dt.Rows.Count == 0) 
    Dt.Rows.Add(Dt.NewRow()); 
Grid1.ItemsSource = Dt.DefaultView; 

Si vous ne voulez pas modifier la table d'origine, vous pouvez créer une copie d'abord avec DataTable.Copy.

+0

J'ai ajouté une ligne vide aussi et cela a fonctionné, c'est la même chose. Merci pour la réponse – user679530

+0

Je suis heureux d'avoir pu aider. –