2011-03-28 66 views
0

我有一個綁定到一個源 源一個WPF的DataGridView是從數據庫填充數據集手動Datagridviewcomboboxcolumn讓我生氣

有一個datagridcomboboxcolumn

我設置列的項目源到數據集(DSGLAccounts.tables..etc), 將displaymemberpath設置爲列名「Account_ID」;

,它的成功顯示帳戶列表 但是當我在運行時sellect一個項目,該小區不把它當我導航到另一個細胞,只是消失

現在我無法理解如何使sellected索引等於某個值,這取決於是在網格視圖的源的數據集(DSRegisters)

我需要知道如何設置所選索引 我想我已經瞭解的性質(SelectedItemBinding/SelectedValueBinding/SelectedValuePath)

這裏的形式

Snapshot from wpf form 這裏是我的愚蠢的代碼:)

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

這背後

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


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

其中

DSRegister是一個數據集包含應該在顯示的記錄代碼datagrid DSGLAccounts是datagridcombobox應該在其中的數據集結合

還當我在運行時,正如我所說的,從ComboBox中選擇一個值時,不守sellection當我離開細胞,彷彿它是不可編輯

我是noooob在WPF中,需要幫助請,如果有一個例子或類似這樣的東西,那將是非常有益的

回答

0

解決方案以保持選擇的值 - 只是代碼添加這樣的事情背後:

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