나는 listview를 필터링하는 데 사용할 메서드가 있습니다. 동적으로리스트 뷰를 생성하기 때문에 미리 컬럼의 수를 알지 못합니다. lstCurrentDynamicItems는 속성이 하나 뿐인 클래스이며 해당 속성의 이름은 c이고 유형은 object []입니다. 나는 listview의 객체를 유지하기 위해 그 클래스를 생성했다. 만약 내가 항상 같은 목록보기를 가지고 있다면 나는 다음과 같은 방법을 만드는 데 아무런 문제가 없을 것이다. 어떻게하면 다음과 같은 방법을 구현할 수 있습니까? 이 같은linq 쿼리 내에서 어떤 종류의 루프를 만듭니다.
public void filterListView(string[] columnsContains)
{
// lstCurrentDynamicItems is a list of objects
// columnsContains is what I want to filter.
var qr = from a in lstCurrentDynamicItems
where a.c[0].ToString().Contains(columnsContains[0]) &&
a.c[1].ToString().Contains(columnsContains[1]) &&
a.c[2].ToString().Contains(columnsContains[2]) &&
// ...
// ...
// ...
a.c[columnsContains.Length].ToString().Contains(columnsContains[columnsContains.Length])
select a;
listView.DataContext = qr;
}
위대한 일을했습니다. 감사! –
@ Tomon Nam : 물론'a.c.Length'는 항상'columnsContains.Length'와 같거나 더 커야합니다. – digEmAll