У меня есть ComboBox настроить как следует:C# значения из другой таблицы в 1 ComboBox
private void SiteChanged(object sender, SelectionChangedEventArgs e)
{
if (comboBoxSites.SelectedIndex == -1) return;
Site site = comboBoxSites.SelectedItem.Value as Site;
comboBoxDetector.Items.Clear();
if (site != null)
{
foreach (Detector detector in site.Detectors)
{
comboBoxDetector.Items.Add(new ComboBoxItem()
{
Content = string.Format("{0} ({1})", detector.Track.TrackName, detector.DetectorID),
Tag = detector
});
}
}
if (comboBoxDetector.Items.Count > 0)
comboBoxDetector.SelectedIndex = 0;
btnShow_Click(null, null);
}
Теперь это показывает мне правильную информацию в ComboBox.
Тем не менее, я хочу добавить 1 дополнительную вещь в строку содержимого.
Я попробовал его с добавлением запроса для начала.
После добавления запроса мой код выглядит следующим образом:
foreach (Detector detector in site.Detectors)
{
LoadOperation<DetectorType> loadOp = context.Load(context.GetEnabledDetectorTypesQuery(detector.DetectorID));
comboBoxDetector.Items.Add(new ComboBoxItem()
{
Content = string.Format("{0} ({1})", detector.Track.TrackName, detector.DetectorID),
Tag = detector
});
}
Теперь я добавил запрос, и это не дает каких-либо ошибок.
Тем не менее, я хотел бы получить результаты запроса. Таким образом, я добавил этот код:
foreach (Detector detector in site.Detectors)
{
LoadOperation<DetectorType> loadOp = context.Load(context.GetEnabledDetectorTypesQuery(detector.DetectorID));
DetectorType type = loadOp.Entities; //Added this
comboBoxDetector.Items.Add(new ComboBoxItem()
{
Content = string.Format("{0} ({1}) {2}", detector.Track.TrackName, detector.DetectorID, type.Description),
Tag = detector
});
}
Теперь описание - это столбец, который я хочу показать. Однако, DetectorType type = loadOp.Entities;
дает значение cannot implicitly convert type
Есть ли способ, чтобы я мог показать значение Description
для ComboBox?
Эта ошибка явно говорит о том, что вы не можете неявно преобразовать тип ** loadOp.Entities ** to ** DetectorType **. Если вы абсолютно уверены, что это тот же тип, то вы можете явно преобразовывать типы, используя ** DetectorType type = (DetectorType) loadOp.Entities; ** –
@ m.rogalski Я на 100% уверен, потому что, когда я помещаю его в отдельный метод и назовите его, это покажет мне результаты. Также изменение его на то, что вы сказали, дает мне ту же ошибку. – Mitch