1
我有一個網格(n)動態生成的列。其中一個要求是,如果在一個顯示的列中存在非空/非零值,則只在網格中顯示一行。我正在使用Infragistics XamGrid,它可以選擇使用行篩選器來接受表達式作爲篩選條件。我已經將我的列的Key綁定到MyObject屬性。如何使用LINQ結合(n)個表達式?
我想根據我的網格中顯示的列生成一個表達式鏈。這裏是一些僞代碼,顯示我想要完成的想法
System.Linq.Expressions.Expression<Func<MyObject, bool>> expr = product =>
{
foreach (var p in MyGrid.Columns.Where(co => co.DataType == typeof (decimal?) && co.Visibility == Visibility.Visible))
{
Expression<Func<MyObject, bool>> exprInner = lrnc => ((decimal?) lrnc.GetPropValue(p.Key)) != 0.0m;
combined = System.Linq.Expressions.Expression.OrElse(combined.Body, exprInner.Body);
}
};
是這樣的? http://www.albahari.com/nutshell/predicatebuilder.aspx – hatchet
@hatchet謝謝,這給了我所需要的所有信息。 – TychoBrahe