gpt4 book ai didi

c# - WPF 数据网格与自定义列绑定(bind)

转载 作者:太空狗 更新时间:2023-10-29 18:00:10 26 4
gpt4 key购买 nike

目前我正在开发 WPF 应用程序(使用 MVVM),我在其中显示 DataGridView 中的数据。

<DataGrid RowHeaderWidth="0" ItemsSource="{Binding PartsList,UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Item Name" IsReadOnly="True" Width="*" Binding="{Binding ProductName}"></DataGridTextColumn>
<DataGridTextColumn Header="Model Name" IsReadOnly="True" Width="*" Binding="{Binding CarModelName}"></DataGridTextColumn>
<DataGridTextColumn Header="Company Name" IsReadOnly="True" Width="*" Binding="{Binding CompanName}"></DataGridTextColumn>
<DataGridTextColumn Header="Price" IsReadOnly="True" Width="*" Binding="{Binding Rate}">
</DataGrid.Columns>
</DataGrid>

这里的 PartsList 是实体 Part 的 ObservableCollection

现在我想将自定义列添加到显示折扣的 DataGrid 和显示 Netty 的另一列。我该怎么做?

请给我一个好主意,因为我需要处理数千条记录,因此性能对我来说非常重要。

提前谢谢你。

最佳答案

尝试在 DataGridLoaded 事件上添加列:

private void DataGrid_Loaded_1(object sender, RoutedEventArgs e)
{
dataGrid.Columns.Add((DataGridTextColumn)this.Resources["DiscountColumn"]);
dataGrid.Columns.Add((DataGridTextColumn)this.Resources["NetAmountColumn"]);

//Alternatively you can create columns in .cs like

dataGrid.Columns.Add(new DataGridTextColumn() { Header = "Dicount", Binding = new Binding("Discount") });
dataGrid.Columns.Add(new DataGridTextColumn() { Header = "Net Amount", Binding = new Binding("NetAmount") });
}
<Window.Resources>
<DataGridTextColumn x:Key="DiscountColumn" Header="Discount" IsReadOnly="True" Width="*" Binding="{Binding Discount}"/>
<DataGridTextColumn x:Key="NetAmountColumn" Header="Net Amount" IsReadOnly="True" Width="*" Binding="{Binding NetAmount}"/>
</Window.Resources>

<DataGrid RowHeaderWidth="0" x:Name="dataGrid" Loaded="DataGrid_Loaded_1" />

关于c# - WPF 数据网格与自定义列绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18152097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com