Как использовать метод Select DataTable - PullRequest
0 голосов
/ 23 ноября 2011

Скажите, пожалуйста, могу ли я использовать оператор Not Like в методе Select объекта DataTable в качестве выражения фильтра?Я имею в виду что-то вроде этого:

MyDataTable.Select("MyField Not Like '" + MyValue + "%'");

Ответы [ 2 ]

1 голос
/ 13 ноября 2012

Да, это работает. Список всех возможных выражений см. http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx

Вот также пример программы, демонстрирующей эту работу.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable table = new DataTable();

            // Create the first column.
            DataColumn textColumn = new DataColumn();
            textColumn.DataType = System.Type.GetType("System.String");
            textColumn.ColumnName = "text";

            // Create the second column.
            DataColumn priceColumn = new DataColumn();
            priceColumn.DataType = System.Type.GetType("System.Decimal");
            priceColumn.ColumnName = "price";
            priceColumn.DefaultValue = 50;

            // Add columns to DataTable.
            table.Columns.Add(textColumn);
            table.Columns.Add(priceColumn);

            DataRow row = table.NewRow();
            row["text"] = "bc";
            table.Rows.Add(row);

            DataRow[] rows = table.Select("text not like 'a%'");
            Console.WriteLine(rows.Count());
        }
    }
}
0 голосов
/ 23 ноября 2011

Вы пробовали такое выражение лица?

filterexp = "fieldvalue!=value";
DataRow[] row = dt.Select(filterexp);

Это может помочь вам

...