2009-12-17 10 views
0

Lorsque je débogue une datatable, disons dans la fenêtre de surveillance, je vais souvent choisir la propriété Rows, puis un index particulier - 0 ou 1, souvent plusieurs fois. Lorsque je fais cela, je vois une liste ItemArray avec indexation numérique, représentant les colonnes pour la ligne. Mais les colonnes ont des noms, et j'aimerais les voir. Ainsi, au lieu deVoir les colonnes de données nommées dans le débogueur Visual Studio?

myTable.Rows [0] [6]

... où je devine/joli mais-pas tout à fait que la colonne est LastName à cet endroit, je préférerais voir la liste ItemArray avec les noms de colonnes entre les crochets [], donc je sais à coup sûr. Y at-il une propriété ici que je ne vois pas ou y a-t-il un moyen de le faire?

Répondre

1

myTable.Rows [0] ["columnName"] ne fonctionne pas pour vous?

Si vous souhaitez obtenir une liste des « columnName valeur », vous pouvez utiliser une sorte de débogage auxiliaires:

class DebugHelper { 
    public static Dictionary<string, object> GetValues(DataTable table, int rowId) { 
     Dictionary<string, object> result = new Dictionary<string,object>(); 
     foreach(DataColumn column in table.Columns) 
      result.Add(column.Caption, table.Rows[rowId][column]); 
     return result; 
    } 
} 

En montre, utilisez DebugHelper.GetValues ​​(table, 0)

+0

Merci pour l'extrait de code. Comme pour votre première question, je peux certainement faire myTable.Rows [0] ["ColumnName"], mais parfois si je débogue le code de quelqu'un d'autre je ne sais pas ce que les ColumnNames sont au point de débogage. Ce serait bien de pouvoir les voir en bas, au lieu de la colonne [0], [1] etc., qui est tout ce que je peux voir par défaut dans la fenêtre de surveillance. – larryq