Найдите элемент списка со списком WPF, используя SelectedValue из Binded Combobox

Может ли кто-нибудь помочь мне найти элемент Combobox, используя свойство value. Поле со списком привязано к набору данных. Вот мой код.

XAML-код

ComboBox Grid.Column="0" Grid.Row="3" Height="23" HorizontalAlignment="Left"
Margin="12,23,0,0" Name="cbxDesignation" VerticalAlignment="Top" Width="120" 
ItemsSource="{Binding}" SelectedValuePath="Desig_Code" SelectedItem="Desig_Name"

Код С# позади.

//Populate Designation

<i> strSQL = "SELECT Desig_Code, Desig_Name FROM Desig_Master";

            dsCommon = CDTier.ReturnDataSet(strSQL);

            cbxDesignation.DataContext = dsCommon.Tables[0].DefaultView;

            cbxDesignation.DisplayMemberPath = dsCommon.Tables[0].Columns["Desig_Name"].ToString();
            cbxDesignation.SelectedValuePath = dsCommon.Tables[0].Columns["Desig_Code"].ToString();
            if (dsCommon.Tables[0].Rows.Count > 0)
                cbxDesignation.SelectedIndex = 0;
            dsCommon.Dispose();
</i>

Основываясь на выборе сотрудника, я хочу отобразить его назначение. В базе данных у меня есть только код обозначения (Desig_Code), который я сопоставил в SelectedValuePath.

Как я могу этого добиться?

У меня есть cbxDesignation.SelectedValue, как показано ниже

cbxDesignation.SelectedValue =  (dsMaster.Tables[0].Rows[0] 
["Desig_Code"].ToString() != "") ? dsMaster.Tables[0].Rows[0]
["Desig_Code"].ToString() : "0";

Пожалуйста, помогите кто-нибудь.....

Спасибо.


person Deepu Nair    schedule 02.05.2013    source источник
comment
Кто-нибудь там, чтобы помочь мне?   -  person Deepu Nair    schedule 02.05.2013
comment
ЗДРАВСТВУЙТЕ КТО-НИБУДЬ, ЧТОБЫ ПОМОЧЬ МНЕЕЕЕЕ...   -  person Deepu Nair    schedule 06.05.2013
comment
Здравствуйте................... Я хочу заполнить форму определения сотрудника всеми подробностями на основе выбранного идентификатора сотрудника из сетки. Поле со списком обозначений emp имеет Desig_descr как Displaymemberpath и Desg_Code как selectedvaluepath. Теперь, основываясь на идентификаторе emp, я получил Desig_Code из БД, и я хочу подобрать и показать правильный Desig_Descr в поле со списком.   -  person Deepu Nair    schedule 06.05.2013


Ответы (1)


попробуйте использовать cbxDesignation.ItemContainerGenerator.ContainerFromItem(cbxDesignation.SelectedValue), который должен дать вам ваш ComboBoxItem.

в качестве альтернативы вы можете использовать ItemContainerGenerator.ContainerFromIndex(cbxDesignation.SelectedIndex) в качестве альтернативы

person Dean Chalk    schedule 02.05.2013
comment
Привет, Дин, спасибо.. но я получаю нуль в элементе.. см. здесь приведенный ниже код, который я использовал.. ComboBoxItem item = (ComboBoxItem)cbxDesignation.ItemContainerGenerator.ContainerFromItem(cbxDesignation.SelectedValue); - person Deepu Nair; 02.05.2013
comment
Я отредактировал ответ, чтобы показать альтернативный подход - надеюсь, это поможет - person Dean Chalk; 02.05.2013
comment
Привет, Дин... Я думаю, ты не правильно понял мой вопрос. У меня нет с собой выбранного индекса. У меня с собой только Desig_code и я хочу Отобразить соответствующее обозначение в Combobox. - person Deepu Nair; 02.05.2013