Maison > Article > développement back-end > Filtre DataTable C#
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"
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# :
Vous trouverez ci-dessous des exemples de filtre DataTable C# :
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 :
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 :
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 :
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 :
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 :
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 :
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!