DisplayMemberPath для ComboBox в WPF, C #

У меня есть DataTable , содержащий необходимый DataRows , который я хочу отобразить в ComboBox . Второй DataColumn называется VALUE , и я хочу сделать его DisplayMember .

Тем не менее, все, что я вижу в ComboBox - пустые строки в соответствии с числом DataRows . Что я делаю не так?

DataTable dataTableManufacturers;
dm = new DatabaseManagement.DatabaseManagement(Properties.Settings.Default.DBServer,Properties.Settings.Default.DBName, Properties.Settings.Default.DBUser, Properties.Settings.Default.DBPassword);
dataTableManufacturers = dm.getManufacturers();

combxManufacturer.DisplayMemberPath = "VALUE";

foreach (DataRow row in dataTableManufacturers.Rows)
{
    combxManufacturer.Items.Add(row);
}
1
nl ja de
попробуйте установить combxManufacturer.ItemsSource = dataTableManufacturers; вместо добавления строк по отдельности.
добавлено автор paul, источник
@paul Вы правы, но вам нужно познакомиться с dataTableManufacturers.Rows. Спасибо!
добавлено автор Alex, источник

4 ответы

DisplayMemberPath should be "[VALUE]" because you intend to use this indexer (not a property) to get at the data. See binding path syntax on MSDN for more information.

В качестве (важного!) В стороне, «способ WPF» состоит в том, чтобы настроить элемент ItemSource элемента управления вместо того, чтобы вручную добавлять коллекцию Items .

2
добавлено
Большое спасибо! Я новичок, поэтому нашел ваш ответ ценным!
добавлено автор Alex, источник

Попробуйте установить combxManufacturer.ItemsSource = dataTableManufacturers.Rows; вместо добавления строк по отдельности.

0
добавлено

Я попробовал это, и я знаю, что это работает.

private DataTable testTable = new DataTable();
        testTable.Columns.AddRange(new DataColumn[]
            {
                new DataColumn("ID", typeof(int)), 
                new DataColumn("Name", typeof(string)), 
            });
        var row = testTable.NewRow();
        row[0] = 1;
        row[1] = "My Name";
        testTable.Rows.Add(row);
        myTestCmb.ItemsSource = TestTable.AsDataView();


0
добавлено

Попробуйте установить свойство combxManufacturer.ItemsSource

combxManufacturer.ItemsSource = dataTableManufacturers.AsDataView;

и нет необходимости добавлять элементы

0
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

CSS — русскоговорящее сообщество
CSS — русскоговорящее сообщество
1 502 участник(ов)

Сообщество любителей CSS Возникли проблемы с CSS? – пиши сюда, обсудим и предложим самое лучшее решение Работа: @css_ru_jobs Правила: https://teletype.in/@css_ru/r1EWtQ2w7 Приходите в наши чаты @javascript_ru и @frontend_ru Флуд: @css_flood

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing

css_jobs
css_jobs
26 участник(ов)

Чат для вопросов по css и html: @css_ru Флуд: @css_flood Канал с вакансиями и резюме: @css_jobs_feed

css_флуд
css_флуд
10 участник(ов)