private void runButton_Click(object sender, EventArgs e) { #region Usage // Now we will create a list of employees grouped // by their city. // Create some sample data List<Employee> employees = new List<Employee>(); employees.Add(new Employee("Nancy", "Davolio", "Seattle")); employees.Add(new Employee("Andrew", "Fuller", "Tacoma")); employees.Add(new Employee("Janet", "Leverling", "Kirkland")); employees.Add(new Employee("Margaret", "Peacock", "Redmond")); employees.Add(new Employee("Steven", "Buchanan", "London")); employees.Add(new Employee("Michael", "Suyama", "London")); employees.Add(new Employee("Robert", "King", "London")); employees.Add(new Employee("Laura", "Callahan", "Seattle")); employees.Add(new Employee("Anne", "Dodsworth", "London")); Query query = new Query(); query.DataContext.Tables.Add(employees, "Employees"); query.Text = "SELECT e.City, MyAggregate(e.FirstName + ' ' + e.LastName) AS Employees FROM Employees e GROUP BY e.City"; // Now we want to publish our custom aggregate CustomAggregate customAggregate = new CustomAggregate("MyAggregate"); query.DataContext.Aggregates.Add(customAggregate); dataGridView1.DataSource = query.ExecuteDataTable(); #endregion }