Скажите, пожалуйста, могу ли я использовать оператор Not Like в методе Select объекта DataTable в качестве выражения фильтра?Я имею в виду что-то вроде этого:
MyDataTable.Select("MyField Not Like '" + MyValue + "%'");
Да, это работает. Список всех возможных выражений см. 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()); } } }
Вы пробовали такое выражение лица?
filterexp = "fieldvalue!=value"; DataRow[] row = dt.Select(filterexp);
Это может помочь вам