У меня есть dataTable, в котором один из столбцов имеет определенный тип объекта say typeOf (A) - A, являющийся моим пользовательским классом. Класс A имеет свойство text и другие свойства, такие как bool. Из пользовательского или внешнего кода я получаю только текстовое значение, которое будет использоваться в RowFilter for Filtering, в приведенном ниже примере я получу «cat» в качестве используемого фильтра. Используя это, как создать RowFilterExpression?DataView Rowfilter Expression C#
class A
{
public string Text{get;set;}
public bool isReadonly {get;set;}
}
DataTable table = new DataTable();
table.Columns.Add("col1", typeOf(A));
table.Rows.Add(new A{Text = "cat", isReadOnly = true,})
table.Rows.Add(new A{Text = "dog", isReadOnly = false,})
string filter = "cat";
DataView dataView = new DataView(table);
dataView.RowFilter = "[col1]='"+filter+"'";
Вышеприведенное выражение не работает, потому что оно пытается сопоставить его с объектом в ячейке. как отфильтровать только одну строку, используя это выражение фильтра?
Любая помощь приветствуется.
Я проверяю его код, он отлично работает –
Он работает, только если вы также реализуете метод ToString из другого ответа. Это компилируется и выполняется, но на самом деле не возвращает никаких результатов. – CathalMF
Спасибо за remak, вы правы, я изменил свой код. –