2013-05-02 2 views
0

누구나 Value 속성을 사용하여 Combobox Item을 찾을 수있게 도와 줄 수 있습니까? 콤보 상자는 데이터 집합에 바인딩됩니다. 내 코드는 다음과 같습니다. 뒤에Binded Combobox에서 SelectedValue를 사용하여 WPF Combobox 항목 찾기

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" 

C# 코드.

//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> 

직원 선택에 따라 그의 직위를 표시하고 싶습니다. 데이터베이스에는 내가 SelectedValuePath에 매핑 한 지정 코드 (Desig_Code) 만 있습니다.

어떻게하면됩니까?

내가 도와주세요 cbxDesignation.SelectedValue
cbxDesignation.SelectedValue = (dsMaster.Tables[0].Rows[0] 
["Desig_Code"].ToString() != "") ? dsMaster.Tables[0].Rows[0] 
["Desig_Code"].ToString() : "0"; 

다음과 같이 사람이 .....

감사합니다.

+0

도와 줄 사람이 있습니까? –

+0

안녕하세요 누구든지 MEEEEEE를 도와 드리겠습니다 ... –

+0

안녕하세요 .................. 선택한 직원 ID를 기반으로 모든 세부 정보로 직원 정의 양식을 채우고 싶습니다. 그리드. emp 지정 콤보 박스는 selectedvaluepath로 Displaymemberpath & Desg_Code라는 Desig_descr을가집니다. 이제 emp ID를 기반으로 DB에서 Desig_Code를 얻었으며 콤보 상자에 정확한 Desig_Descr을 표시하고 표시하려고합니다. –

답변

0

cbxDesignation.ItemContainerGenerator.ContainerFromItem(cbxDesignation.SelectedValue)을 사용하여 시도하면 ComboBoxItem이 표시됩니다.

다른 방법으로 ItemContainerGenerator.ContainerFromIndex(cbxDesignation.SelectedIndex)을 사용할 수도 있습니다.

+0

안녕 딘, Thx ..하지만 항목에 null이 .. 내가 사용하는 아래 코드를 참조하십시오 .. 'ComboBoxItem item = (ComboBoxItem) cbxDesignation.ItemContainerGenerator.ContainerFromItem (cbxDesignation.SelectedValue);' –

+0

Ive가 편집 됨 대체 접근법을 보여 주겠다. 도움이되기를 바랍니다. –

+0

안녕 딘 ... 내 질문에 올바르게 대답하지 못했다고 생각합니다. 나는 나와 함께 선택한 색인이 없다. 나는 나와 함께 Desig_code 만 가지고 있으며 콤보 박스에 해당 지정을 표시하고 싶다. –