如何将空行添加到DataGrid? [英] How to add empty row to the DataGrid?
本文介绍了如何将空行添加到DataGrid?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要允许用户添加直接在DataGrid中的信息,但将 CanUserAddRows属性不起作用,仅显示如下:
I need to allow the user to add the information that is directly in the DataGrid but put the "CanUserAddRows" property does not work, only appears as follows:
这是我的DataGrid:
This is my DataGrid:
<DataGrid x:Name="dtgPersons" Grid.Row="3" CanUserAddRows="True">
<DataGrid.Columns>
<DataGridTextColumn Header="N°" Width="*" />
<DataGridTextColumn Header="Name" Width="*" />
<DataGridTextColumn Header="Carrer" Width="*" />
<DataGridTextColumn Header="Group" Width="*" />
<DataGridTextColumn Header="Age" Width="*" />
</DataGrid.Columns>
</DataGrid>
编辑
这是新的网格代码:
<DataGrid x:Name="dtgPerson" Grid.Row="3" ItemsSource="{Binding lstPerson}" AutoGenerateColumns="False" CanUserAddRows="True">
<DataGrid.Columns>
<DataGridTextColumn Header="N°" Width="*" Binding="{Binding No}" />
<DataGridTextColumn Header="Name" Width="*" Binding="{Binding Name}" />
<DataGridTextColumn Header="Carrer" Width="*" Binding="{Binding Carrer}" />
<DataGridTextColumn Header="Group" Width="*" Binding="{Binding Group}" />
<DataGridTextColumn Header="Age" Width="*" Binding="{Binding Age}" />
</DataGrid.Columns>
</DataGrid>
这是我的背后代码:
我的ObservableCollection:
And this is my code behind: My ObservableCollection:
public ObservableCollection<Person> lstPerson { get; set; }
我的MainWindow
My MainWindow
public MainWindow()
{
InitializeComponent();
DataContext = this;
lstPerson = new ObservableCollection<Person>();
}
我的人类
public class Person
{
public int No { get; set; }
public string Name { get; set; }
public string Carrer { get; set; }
public string Group { get; set; }
public int Age { get; set; }
}
推荐答案
1)更改网格xaml
1) Change you grid xaml
<DataGrid ItemsSource="{Binding GridCollection}"
CanUserAddRows="True"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="N°" Binding="{Binding Number}" Width="*" />
<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="*" />
<DataGridTextColumn Header="Carrer" Binding="{Binding Career}" Width="*" />
<DataGridTextColumn Header="Group" Binding="{Binding Group}" Width="*" />
<DataGridTextColumn Header="Age" Binding="{Binding Age}" Width="*" />
</DataGrid.Columns>
</DataGrid>
2)在ViewModel或CodeBehind中定义您的集合
2) Define your collection in ViewModel or CodeBehind
public ObservableCollection<gridDataModel> GridCollection { get; set; }
3)使用前初始化收集
3) Init collection before use
public MainWindow()
{
InitializeComponent();
DataContext = this;
GridCollection = new ObservableCollection<gridDataModel>();
}
4)毕竟,您可以通过以下方式在网格中添加项目GUI,它们将存储在集合中。
4) After all you will get this, you can add items in grid via GUI and they will store in collection
这篇关于如何将空行添加到DataGrid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文