下記のようなデータがDataTableに格納されていたとして、”Value”列の値が”2020/01/01″の行を取得し値を参照する方法の紹介です。ID列が1の行と4の行を取得することになります。
DataTaleから特定の行を取得するには、下記のようにSelectメソッドを使います。コンソールアプリケーションで動作をご確認いただけます。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
System.Data.DataTable Table = new System.Data.DataTable();
Table.Columns.Add("ID", typeof(int));
Table.Columns.Add("Value", typeof(DateTime));
Table.Rows.Add(new Object[] { 1, "2020/01/01" });
Table.Rows.Add(new Object[] { 2, "2020-02-02" });
Table.Rows.Add(new Object[] { 3, "2021-03-03"});
Table.Rows.Add(new Object[] { 4, "2020-01-01" });
System.Data.DataRow[] rows = Table.Select("Value = '2020/01/01'"); ;
Console.WriteLine("取得結果1行目1列目:" + rows[0].ItemArray[0]);
Console.WriteLine("取得結果1行目2列目:" + rows[0].ItemArray[1]);
Console.WriteLine("取得結果2行目1列目:" + rows[1].ItemArray[0]);
Console.WriteLine("取得結果2行目2列目:" + rows[1].ItemArray[1]);
Console.Read();
}
}
}
Selectメソッドの引数に取得したい条件を指定しています。今回の例の場合、Value列の値が”2020/01/01″の行を取得するので”Value = ‘2020/01/01′”としました。
以上となります。