2011-03-28 5 views
0

나는 소스 소스에 바인딩 된 WPF의 DataGridView를 데이터베이스에서 작성 데이터 집합이다가 수동으로Datagridviewcomboboxcolumn 점점 나를 미친

내가에 열의 항목 소스를 설정 한

datagridcomboboxcolumn에게있다

dataset (DSGLAccounts.tables..etc), displaymemberpath를 "Account_ID"열 이름으로 설정하십시오.

및 성공적 계정 목록 을 표시거야하지만 난 런타임에 항목을 sellect 때, 셀 내가 다른 셀로 이동할 때 그것을 유지하고 단지 내가 sellected 만드는 방법을 이해할 수없는 지금

사라하지 않습니다 지수는 그리드 뷰의 소스 인 데이터 세트에 따라 일부 값 i가 선택된 인덱스 내가 속성에 대해 알고 있다고 생각 을 설정하는 방법을 알 필요가

(DSRegisters를) 동일 (SelectedItemBinding/SelectedValueBinding/SelectedValuePath)

여기 여기 내 바보 같은 코드 :

  <DataGrid Name="dgv_Accounts" Width="Auto" Height="Auto" AutoGenerateColumns="False" VerticalAlignment="Stretch" 
              HorizontalAlignment="Stretch" HeadersVisibility="Column" CanUserReorderColumns="False" CanUserResizeColumns="False" 
              CanUserSortColumns="False" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Visible" 
              BorderBrush="Gray" BorderThickness="0" HorizontalGridLinesBrush="Gray" VerticalGridLinesBrush="Gray" 
             AreRowDetailsFrozen="False" CanUserResizeRows="False" RowDetailsVisibilityMode="Visible" RowHeight="20" SelectionMode="Extended" 
              FlowDirection="LeftToRight" GridLinesVisibility="All" UseLayoutRounding="True" EnableColumnVirtualization="True" 
              FontFamily="DFKai-SB" FontWeight="Bold" FontStyle="Normal" Grid.Row="5" CellEditEnding="dgv_Accounts_CellEditEnding" RowEditEnding="dgv_Accounts_RowEditEnding"> 

      <DataGrid.Columns> 
       <DataGridComboBoxColumn Header="GL Account" Width="*" > 
       </DataGridComboBoxColumn> 
       <DataGridTextColumn Header="Description" Width="*" Binding="{Binding Path=Transc_desc, Mode=TwoWay}"/> 
       <DataGridTextColumn Header="Debit" Width="*" Binding="{Binding Path=Debit}"/> 
       <DataGridTextColumn Header="Credit" Width="*" Binding="{Binding Path=Credit}"/> 
       <DataGridTextColumn Header="Job" Width="*"/> 
      </DataGrid.Columns> 
     </DataGrid> 

DSRegister 데이터 집합이 표시되어야 레코드가 포함되어 있습니다

  dgv_Accounts.ItemsSource = DSRegisters.Tables[0].DefaultView; 


     DataGridComboBoxColumn COL = ((DataGridComboBoxColumn)(dgv_Accounts.Columns[0])); 
     COL.ItemsSource = DSGLAccount.Tables[0].DefaultView; 
     COL.DisplayMemberPath = "Account_ID"; 

뒤에 코드의의 형태

Snapshot from wpf form 입니다 DataGrid DSGLAccounts는 datagridcombobox가 있어야하는 데이터 집합입니다. 내가 런타임에 내가 말했듯이 때

내가 WPF에서 noooob있어 편집이 불가능한 인 것처럼 내가 셀을 떠날 때 또한, 때 콤보 상자에서 값을 선택, 그것은 sellection을 유지하지 않습니다

을 결합, 이 같은 예 또는 무언가가 있다면, 그것은 선택된 값을 유지

답변

0

솔루션 매우 도움이 될 것입니다하시기 바랍니다 도움이 필요 - 단지 뒤에 코드에서 이런 식으로 뭔가를 추가

COL.SelectedItemBinding = New Binding("SelectedItem");