private void DetailGrid_OnLoadingRow(object sender, DataGridRowEventArgs e) { if (AccObj.AccDetailsList.Count < AccObj.PageSize) { return; } int x = e.Row.GetIndex(); if (AccObj.AccDetailsList.Count - 2 < x && !AccObj.Loading) { AccObj.Loading = true; AccObj.LoadAccessoryDetail(); } }
private void DetailGrid_OnFilter(object sender, FilterEvent e) { AccObj.AccDetailsList.Clear(); var counter = 0; AccObj.DetailFilter = null; AccObj.DetailValuesObjects = new Dictionary <string, object>(); foreach (var f in e.FiltersPredicate) { var paramter = "(@" + f.FilterColumnInfo.PropertyPath + counter + ")"; var myObject = Convert.ChangeType(f.FilterText, f.FilterColumnInfo.PropertyType, null); switch (f.SelectedFilterOperation.FilterOption) { case Enums.FilterOperation.EndsWith: myObject = Convert.ChangeType("%" + f.FilterText, f.FilterColumnInfo.PropertyType, null); break; case Enums.FilterOperation.StartsWith: myObject = Convert.ChangeType(f.FilterText + "%", f.FilterColumnInfo.PropertyType, null); break; case Enums.FilterOperation.Contains: myObject = Convert.ChangeType("%" + f.FilterText + "%", f.FilterColumnInfo.PropertyType, null); break; } AccObj.DetailValuesObjects.Add(f.FilterColumnInfo.PropertyPath + counter, myObject); if (counter > 0) { AccObj.DetailFilter = AccObj.DetailFilter + " and "; } AccObj.DetailFilter = AccObj.DetailFilter + "it." + f.FilterColumnInfo.PropertyPath + f.SelectedFilterOperation.LinqUse + paramter; counter++; } AccObj.LoadAccessoryDetail(); }