Maison  >  Article  >  développement back-end  >  Filtre DataTable C#

Filtre DataTable C#

WBOY
WBOYoriginal
2024-09-03 15:33:17476parcourir

C# DataTable est un objet central utilisé pour accéder à la plupart des objets et données liés à la table de données. Étant donné que le tableau de données contient d’énormes quantités de données et n’est pas dans un format organisé, il est nécessaire d’appliquer un filtre. Pour satisfaire les propriétés de filtrage dans DataTable liées à C#, il est nécessaire que le filtre organise et ordonne le filtre de base de données C# rationalisé.

Syntaxe :

Il n'y a pas de syntaxe spécifique pour le filtre C# DataTable, mais il utilise néanmoins les fonctions de filtre associées aux colonnes qui sont représentées comme suit :

dataView.RowFilter = "s_id=180";

La fonction de filtre DataTable associée aux littéraux est représentée comme suit :

dataView.RowFilter = "s_name = 'anu'"

La fonction de filtre DataTable associée aux valeurs numériques est représentée comme suit :

dataView.RowFilter = "dt_of_brth = 1987"

Comment filtrer DataTable en C# ?

La fonction Filtre en C# est principalement utilisée chaque fois que les données et leurs opérations associées sont très nombreuses. Si les données présentes dans DataTable augmentent, alors le seul sauveur en ce qui concerne le filtrage des lignes et des colonnes est le filtre dans DataTable.

Vérifions le modèle de travail pour filtrer DataTable en C# :

  • Le filtrage de DataTable en C# n'est pas unique et différent des autres types de techniques de filtrage ; néanmoins, cela peut être réalisé de diverses manières.
  • Les différentes méthodes de filtrage de DataTable incluent la méthode select(String), qui sélectionne la ligne ou la colonne requise, puis, en fonction de cela, applique le filtre.
  • Le filtrage peut être effectué à l'aide de l'opérateur logique Select, Where, AND, OR, NOT et en plus, en appliquant également la valeur.
  • Les lignes et colonnes de données présentes dans le tableau de données utilisent également la méthode de tri, qui trie et classe les données dans un format croissant ou décroissant selon les besoins.
  • La sélection de la chaîne comme énumérable est utile lors de l'enregistrement d'un objet, puis l'application d'une opération de filtrage et d'ordre basée sur le calcul aide à fournir le résultat souhaité.
  • L'évaluation de DataTable avec sa chaîne associée doit également être prise en compte par rapport à la fonction de retour vrai ou faux.

Exemples de filtre DataTable C#

Vous trouverez ci-dessous des exemples de filtre DataTable C# :

Exemple n°1

Ce programme démontre le filtrage et la récupération des données de ligne en utilisant l'instruction select comme instruction de filtre comme pour chacune des conditions AND, OR et NOT et renvoie tout nombre supérieur au nombre mentionné mais inférieur à l'autre limite supérieure, comme indiqué dans la sortie.

Code :

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Data_tbl_Demo
{
public static void Main()
{
DataTable tbl_1 = new DataTable("Creation of Data for players");
tbl_1.Columns.Add(new DataColumn("Size_of_team", typeof(int)));
tbl_1.Columns.Add(new DataColumn("Team_work", typeof(char)));
tbl_1.Rows.Add(50, 'c');
tbl_1.Rows.Add(100, 'c');
tbl_1.Rows.Add(250, 'd');
tbl_1.Rows.Add(567, 'd');
tbl_1.Rows.Add(123, 'd');
DataRow[] rslt = tbl_1.Select("Size_of_team >= 123 AND Team_work = 'd'");
foreach (DataRow row in rslt)
{
Console.WriteLine("{0}, {1}", row[0], row[1]);
}
}
}

Sortie :

Filtre DataTable C#

Exemple n°2

Ce programme est utilisé pour démontrer l'expression de filtrage DataTable, qui est utilisée pour renvoyer un tableau d'objets DataRow après tri par ordre décroissant, comme indiqué dans la sortie.

Code :

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Data_tbl_Demo
{
public static void Main()
{
DataTable tbl2_2 = new DataTable("Orders_plcd");
tbl2_2.Columns.Add("Order_ID", typeof(Int32));
tbl2_2.Columns.Add("Order_Quantity", typeof(Int32));
tbl2_2.Columns.Add("Company_Name", typeof(string));
tbl2_2.Columns.Add("Date_on_day", typeof(DateTime));
DataRow nw_row = tbl2_2.NewRow();
nw_row["Order_ID"] = 1;
nw_row["Order_Quantity"] = 5;
nw_row["Company_Name"] = "New_Company_Nm";
nw_row["Date_on_day"] = "2014, 5, 25";
tbl2_2.Rows.Add(nw_row);
DataRow nw_row2 = tbl2_2.NewRow();
nw_row2["Order_ID"] = 2;
nw_row2["Order_Quantity"] = 6;
nw_row2["Company_Name"] = "New_Company_Nm2";
tbl2_2.Rows.Add(nw_row2);
DataRow nw_row3 = tbl2_2.NewRow();
nw_row3["Order_ID"] = 3;
nw_row3["Order_Quantity"] = 8;
nw_row3["Company_Name"] = "New_Company_Nm3";
tbl2_2.Rows.Add(nw_row3);
string exprsn = "Date_on_day = '5/25/2014' or Order_ID = 2";
string sort_Order = "Company_Name DESC";
DataRow[] sorted_Rows;
sorted_Rows = tbl2_2.Select(exprsn, sort_Order);
for (int i = 0; i < sorted_Rows.Length; i++)
Console.WriteLine(sorted_Rows[i][2]);
}
}

Sortie :

Filtre DataTable C#

Exemple #3

Ce programme illustre la requête de sélection dans laquelle DataTable recherche les deux lignes correspondantes qui ont des dates au format le plus récent et est filtrée à l'aide de DateTime comme indiqué dans la sortie.

Code :

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Using_Date_Time
{
public static void Main()
{
DataTable tbl_dt_time = new DataTable("Widgets");
tbl_dt_time.Columns.Add(new DataColumn("rw_ID", typeof(int)));
tbl_dt_time.Columns.Add(new DataColumn("Date", typeof(DateTime)));
tbl_dt_time.Rows.Add(180, new DateTime(2003, 1, 1));
tbl_dt_time.Rows.Add(123, new DateTime(2000,1, 1));
tbl_dt_time.Rows.Add(350, new DateTime(2001,1, 1));
DataRow[] filterd_result = tbl_dt_time.Select("Date > #6/1/2001#");
foreach (DataRow row in filterd_result)
{
Console.WriteLine(row["rw_ID"]);
}
}
}

Sortie :

Filtre DataTable C#

Exemple n°4

Ce programme illustre une expression invalide en sélectionnant une valeur comme A qui n'est pas évaluée comme vraie ou fausse et renvoie une erreur désagréable qui n'est pas souhaitée.

Code :

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Using_Date_Time
{
public static void Main()
{
DataTable table = new DataTable();
table.Columns.Add("Anusua", typeof(int));
table.Rows.Add(1);
table.Rows.Add(2);
table.Rows.Add(3);
table.Rows.Add(4);
table.Rows.Add(5);
DataRow[] rows = table.Select("Anusua");
System.Console.WriteLine(rows.Length);
}
}

Sortie :

Filtre DataTable C#

Remarque : Pour surmonter la situation ci-dessus consistant à évaluer la table de données et à filtrer la table de données en évaluant les valeurs, impliquez correctement cet ensemble d'instructions.

Les déclarations incluent des lignes telles que :

DataRow[] rows = table.Select("Anusua > 1");

System.Console.WriteLine(rows.Length);

Les deux lignes ci-dessus fourniront le résultat requis si elles sont exécutées correctement en remplaçant l'instruction select comme dans l'exemple mentionné précédemment.

Le résultat est le suivant :

Filtre DataTable C#

Exemple #5

Ce programme montre que la table de données doit être filtrée et effectuer une opération de somme qui résidera à l'intérieur de l'objet créé en tant que somme, et à partir de là, la somme requise est obtenue et affichée comme indiqué dans la sortie.

Code :

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Program
{
public static void Main()
{
DataTable dt_4 = new DataTable();
dt_4.Columns.Add("emp_Id",typeof(int));
dt_4.Columns.Add("customer_Name",typeof(string));
dt_4.Columns.Add("Amount_type",typeof(decimal));
dt_4.Rows.Add(1,"A",50);
dt_4.Rows.Add(2,"b",68);
dt_4.Rows.Add(3,"c",22);
dt_4.Rows.Add(4,"d",null);
decimal dec_ml = 0;
object sum_Obj;
sum_Obj = dt_4.Compute("Sum(Amount_type)", string.Empty);
decimal total = dt_4.AsEnumerable().Where(r => !r.IsNull("Amount_type") && decimal.TryParse(r["Amount_type"].ToString(), out dec_ml)).Sum(r => dec_ml);
Console.WriteLine(sum_Obj);
Console.WriteLine(total);
}
}

Sortie :

Filtre DataTable C#

Conclusion

DataTable en C# et dans tout autre langage de programmation joue un rôle central lorsqu'il s'agit de traiter une énorme quantité de données. Le filtrage par rapport à la base de données et à son sous-ensemble ultérieur joue également un rôle important car une base de données doit toujours être optimisée et efficace en termes de récupération et de récupération de données à partir d'une base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Table de données C#Article suivant:Table de données C#