Ajout d'un datarow d'une table existante à une nouvelle table
-
06-07-2019 - |
Question
Bonjour, je souhaite ajouter un champ de données qui récupère une table de données vers un nouveau datatable
.c'est le code que j'utilise:
foreach (DataRow dr1 in dt.Rows)
{
string AptType = dr1["AppointmentType"].ToString();
if (AptType == "FreeTime")
{
dt2.ImportRow(dr1);
}
}
RadGrid2.DataSource = dt2;
reader.Close();
conn.Close();
le problème est que quand je vais ensuite exécuter la page avec la table dessus, j'obtiens une erreur datakey et que l’une des colonnes n’est pas reconnue
merci d'avance
La solution
Les deux tables de données ont-elles le même schéma? Ces erreurs peuvent être générées si elles ne correspondent pas aux colonnes, aux types de données ou aux clés.
Autres conseils
Vous devriez utiliser Typed TableDataAdapters, je vous simplifierais tellement la vie ...
C’est très facile à faire et à comprendre.
Suivez ce tutoriel Table fortement typée, DataAdapters et DataTables
Une fois que vous avez saisi le concept, vous devriez faire quelque chose comme ceci:
MyTypedTableAdapter tableAdapter = new MyTypedTableAdapter();
MyTypedDataTable dt = tableAdapter.GetData();
foreach (MyTypedDataRow row in dt.Rows)
{
string AptType = row.AppointmentType;
if (AptType == "FreeTime")
{
dt2.ImportRow(row);
}
}
RadGrid2.DataSource = dt2;