【发布时间】:2017-11-17 10:41:02
【问题描述】:
我有一个 datagrid1 有 4 列(余额、金额、交易、日期)。另一个 datagrid2 由名称组成。当我单击名称时,datagrid1 会根据数据库中的“名称”配置文件更改其值。在datagrid2中,我放置了“全部显示”行,每当我选择“全部显示”时,datagrid1应该在最左边添加另一列并将列命名为“名称”,那么总列将为5。每当“全部显示” " 未选中 datagrid1 的列应该返回 4。现在我该怎么做呢?我想到的一个解决方案是创建 2 个精确的数据网格,相同的位置,只要我选择“全部显示”或选择名称时就隐藏/显示它,但我认为如果有其他更有效的方法是错误的。我想这样做是因为您知道当我选择“显示全部”并查看我的 datagrid1 时,我无法分辨这是哪个事务,因为没有包含名称。提前致谢。
数据网格 XAML 代码:
<DataGrid x:Name="accountsBalance_grd"
HorizontalAlignment="Left"
Margin="266,118,0,0"
VerticalAlignment="Top"
Height="498"
Width="836"
AreRowDetailsFrozen="True"
AutoGenerateColumns="False"
SelectionChanged="accountsBalance_grd_SelectionChanged"
CanUserReorderColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
CanUserSortColumns="False"
CanUserAddRows="False"
BorderBrush="Blue"
Background="White"
Foreground="Blue"
BorderThickness="2"
HorizontalGridLinesBrush="Black">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="FontSize"
Value="20" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Total Balance"
Width="150"
Binding="{Binding accountBalanceTotal}"
IsReadOnly="True" />
<DataGridTextColumn Header="Amount"
Width="120"
Binding="{Binding accountBalanceAmount}"
IsReadOnly="True" />
<DataGridTextColumn Header="Transaction"
Width="160"
Binding="{Binding accountBalanceTransaction}"
IsReadOnly="True" />
<DataGridTextColumn Header="Date"
Width="*"
Binding="{Binding accountBalanceDate}"
IsReadOnly="True" />
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="FontSize"
Value="15" />
<Setter Property="FontFamily"
Value="Arial" />
<Setter Property="FontWeight"
Value="Bold" />
<Setter Property="Foreground"
Value="Black" />
</Style>
</DataGrid.RowStyle>
</DataGrid>
【问题讨论】: