Pregunta

    

Esta pregunta ya tiene una respuesta aquí:

         

Quiero hacer algo como esto:

   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;
        }

Sin embargo, me sale un error diciendo US_OTHERFRIEND no pertenece a la mesa. Quiero comprobar simplemente si no es nulo, a continuación, establecer el valor.

No hay una manera de hacer esto?

¿Fue útil?

Solución

Usted debe tratar

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

No creo que la fila tiene una propiedad de columnas en sí.

Otros consejos

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

Aunque el DataRow no tiene una propiedad de columnas, tiene una tabla que la columna se puede verificar.

Puede utilizar el DataColumnCollection de su tabla de datos para comprobar si la columna está en la colección.

Algo así como:

DataColumnCollection Columns = dtItems.Columns;

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

Puede utilizar

try {
   user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
   // do something if you want 
}
if (row.Columns.Contains("US_OTHERFRIEND"))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top