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

Était-ce utile?

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;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top