如何将空行添加到DataGrid? [英] How to add empty row to the DataGrid?

查看:87
本文介绍了如何将空行添加到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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆