【问题标题】:Datagridviewcomboboxcolumn getting me madDatagridviewcomboboxcolumn 让我抓狂
【发布时间】:2011-03-28 20:00:50
【问题描述】:

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

有一个datagridcombobox列

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

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

现在我无法理解如何根据作为网格视图 (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>

这是后面的代码

            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 是 datagridcombobox 应该绑定到的数据集

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

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

【问题讨论】:

    标签: wpf datagridview datagridcomboboxcolumn


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 2010-12-29
      • 2011-05-09
      • 2014-05-19
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      相关资源
      最近更新 更多