Saltar al contenido

¿Compruebe si existe una fila en DataTable?

Solución:

Si usa un mecanografiado DataSet, Es decir, declarado en tiempo de diseño, el “método linq Contiene” toma un tipo DataRow. El valor por defecto IEqualityComparer comparará todos los valores en el DataRow. (Lo que normalmente es inútil, ya que debería tener una clave definida).

DataSet1 ds = new DataSet1();
DataSet1.DataTable1Row row = ds.DataTable1.AddDataTable1Row(bla, bla);
bool exists = ds.DataTable1.Contains(row);

Puede usar LINQ para verificar si la fila está presente en la tabla de datos. Siga esta solución y reemplace “id” con la clave principal de su fila, mediante la cual puede identificar de forma única una fila en una tabla.

DataRow dr = null; // assign your DR here
DataTable dt = new DataTable(); // assign Datatable instance here.
var k = (from r in dt.Rows.OfType<DataRow>()  where r["id"].ToString() == dr["id"].ToString() select r).FirstOrDefault();
if(k != null)
{  // Row is present }

si quieres comprobar todos los cells en un DataRow, puedes probar esta función:

bool ContainDataRowInDataTable(DataTable T,DataRow R)
{
    foreach (DataRow item in T.Rows)
    {
        if (Enumerable.SequenceEqual(item.ItemArray, R.ItemArray))
            return true;
    }
    return false;
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *