0

我有一个绑定到源的 wpf datagridview 源是手动从数据库填充的数据集

有一个datagridcomboboxcolumn

我已将列的项目源设置为数据集(DSGLAccounts.tables..etc),将 displaymemberpath 设置为列名“Account_ID”;

并且它成功显示了帐户列表但是当我在运行时选择一个项目时,当我导航到另一个单元格时,该单元格不会保留它并且只是消失了

现在我无法理解如何根据作为网格视图源的数据集(DSRegisters)使选择的索引等于某个值

我需要知道如何设置选定的索引我想我必须知道属性(SelectedItemBinding/SelectedValueBinding/SelectedValuePath)

这是表格

来自 wpf 表单的快照 这是我的愚蠢代码:)

            <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 是一个数据集,包含应在数据网格上显示的记录 DSGLAccounts 是数据网格组合框应绑定到的数据集

同样,当我在运行时如我所说的那样,从组合框中选择一个值时,当我离开单元格时它不会保持销售,就好像它不可编辑一样

我是 wpf 的新手,需要帮助,如果有示例或类似的东西,那将非常有帮助

4

1 回答 1

0

保留选定值的解决方案 - 只需在后面的代码中添加类似的内容:

COL.SelectedItemBinding = New Binding("SelectedItem");
于 2011-10-06T12:11:37.560 回答