을 사용했다. ultragrid에 대한 행과 하위 집합을 설정해야 할 때마다 linq 및 익명 형식을 사용하여 Propper 컬렉션을 생성하여 데이터 소스를 설정하기 만하면됩니다. 이제는 모든 사람들을 보여주는 gridview를 보여주고 싶은 사람 목록 (id, Name)과 자동차 목록 (id, CarName 및 OwnerId (personId))이 있다고 말하는데, expandabel subrow는 모든 자동차를 제공합니다 개인적인. 단순히 다음을 수행하십시오.
List<Person> persons = GetAllPersons();
List<Car> cars = GetAllCars();
grid.DataSource = persons.Select(x => new {x.Id, x.Name, Cars = cars.Where(z => z.OwnerId == x.Id).ToList()}).ToList();
내가 작성한 익명 유형에 유의하십시오. 이것은 id, Name 및 cars 컬렉션이있는 객체 목록을 생성합니다. 또한 마지막 줄에서 ToList 메서드를 두 번 호출합니다.이 메서드는 ultragrid를 제대로 바인딩하기 위해 필요합니다.
gridview를 편집해야하는 경우 위의 방법은 충분하지 않습니다. ultragrid에는 수정할 기본 데이터 소스가 필요하기 때문에이 방법은 충분하지 않을 것입니다. 하지만 인터넷에서 Linq 컬렉션을 DataTable에 복사 할 수있는 확장 기능을 찾아서 그리드를 편집 할 수 있어야합니다.
저는 위의 방법을 자주 사용했으며 거대한 수집 일지라도 매우 잘 수행됩니다.
희망이 있습니다. 누군가 도움이됩니다.
감사합니다. –