Вы говорите об отношениях мастера / детали (между элементами управления), а ваш код этого не делает. Вы создали «основной список» названий отелей, но вы не зафиксировали детали для каждого отеля в какой-либо структуре данных (что я вижу в вашем примере).
Вам необходимо собрать уникальные имена отелей (и, возможно, уникальный идентификатор), а затем создать последующую структуру данных, в которой будут содержаться данные обо всех отелях, а затем подключить главный элемент управления к элементу подробного управления, чтобы при изменении индекс главного элемента управления (например, ComboBox), элемент управления подробностями (например, сетка данных) отображает все подробности для этого названия отеля.
// link query to get you a list of distinct hotel names
var hotelNames = result.ResultSet.Select(rb => rb.HotelName).Distinct().ToList();
Теперь у вас есть четкий список названий отелей, и вам нужно привязать эту коллекцию к элементу управления. Когда этот элемент управления SelectedIndex
изменяется, вам необходимо обновить содержимое другой коллекции подробных записей, которые находятся в другой коллекции и связаны с сеткой данных или некоторым табличным представлением.
// list of details passed on a hotelname
// the where clause has a variable that represents the hotel name from the SelectedIndex
// in the master list
var hotelDetails = results.ResultSet.Where(rb.HotelName == hotelNameVariable);
Я думаю, это начало решения вашей проблемы. Вам действительно нужно сделать шаг назад, попытаться понять, что вы пытаетесь сделать, и разбить его на маленькие шаги, на которых вы можете медленно строить.
Или я мог быть совершенно не в курсе. :) Я немного догадался о ваших вопросах и о том, что вы пытаетесь сделать.