Question

    

Cette question a déjà une réponse ici:

         

Je veux faire quelque chose comme ceci:

   private User PopulateUsersList(DataRow row)
        {
            Users user = new Users();
            user.Id = int.Parse(row["US_ID"].ToString());
            if (row["US_OTHERFRIEND"] != null)
            {
                user.OtherFriend = row["US_OTHERFRIEND"].ToString();
            }
            return user;
        }

Cependant, je reçois une erreur disant US_OTHERFRIEND n'appartient pas à la table. Je veux simplement vérifier si elle est non nulle, définissez la valeur.

est pas là une façon de le faire?

Était-ce utile?

La solution

Vous devriez essayer

if (row.Table.Columns.Contains("US_OTHERFRIEND"))

Je ne crois pas que la ligne a une propriété de colonnes lui-même.

Autres conseils

if (drMyRow.Table.Columns["ColNameToCheck"] != null)
{
   doSomethingUseful;
{
else { return; }

Bien que le DataRow ne dispose pas d'une propriété Columns, il a un tableau que la colonne peut être vérifiée.

Vous pouvez utiliser le DataColumnCollection de votre datatable pour vérifier si la colonne est dans la collection.

Quelque chose comme:

DataColumnCollection Columns = dtItems.Columns;

if (Columns.Contains(ColNameToCheck))
{
  row["ColNameToCheck"] = "Checked";
}

Vous pouvez utiliser

try {
   user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
   // do something if you want 
}
if (row.Columns.Contains("US_OTHERFRIEND"))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top