Je construis table de données comme ceci ci-dessous et quand j'essaie d'attribuer une valeur à la base de données sur la ligne par base de la ligne je reçois erreur comme ceincapable de comprendre l'indice hors de portée exception
il n'y a pas de ligne à la position 0
et voici mon code:
public DataTable BuildCertInfo()
{
DataTable dtCertInfo = new DataTable(TABLE);
DataColumnCollection columns;
columns = dtCertInfo.Columns;
AddColumn(dtCertInfo, ROW_NO, "System.Int32", false, 0);
AddColumn(dtCertInfo, LIC_ID, "System.Int32", false, 0);
AddColumn(dtCertInfo, SYS_ID, "System.Int32", false, 0);
AddColumnString(dtCertInfo, SYS_PART_ID);
...............
...............
return dtCertInfo;
}
et je fais appel au-dessus de méthode comme celle
DataTable dt = objCertificate.BuildCertInfo();
puis je suis Boucler dans le gridview et l'attribution de valeurs à la table de données comme ci-dessous ..
for (int i = 0; i < gvPRCertInfo.Rows.Count; i++)
{
dt.Rows[i][Certificate.SYS_PART_ID] = systemPartID; // here I am getting error
................
................
}
Je ne sais pas où je fais mal pourrait tout s'il vous plaît me diriger dans la bonne direction qui serait très reconnaissant me
un grand merci à l'avance ...
Etes-vous sûr que 'dt.Rows' a suffisamment de lignes pour couvrir la plage de' i'? – dasblinkenlight
Il semble que vous essayez de remplir 'dt' avec des lignes avec la boucle' for'. Si c'est le cas, vous devez créer une nouvelle ligne et l'ajouter à 'dt' en premier. – VDWWD
Copie possible de [Insérer une nouvelle ligne dans DataTable] (https://stackoverflow.com/questions/4731622/insert-a-new-row-into-datatable) – mjwills