简体   繁体   English

用户无法在 wpf 数据网格上添加空的新行

[英]User can't add empty new row on wpf datagrid

At runtime, user can't add new empty row on my wpf datagrid.在运行时,用户无法在我的 wpf 数据网格上添加新的空行。 I tried CanUserAddRow="True", IsReadOnly="False"我试过 CanUserAddRow="True", IsReadOnly="False"

XAML XAML

<DataGrid x:Name="UrunGrid" Grid.Row="0" CanUserAddRows="True" AlternatingRowBackground="LightGray" AlternationCount = "2" AutomationProperties.IsOffscreenBehavior="Offscreen">
            <DataGrid.Columns>
                <DataGridTextColumn Header="ISBN/Barkod" Binding="{Binding BARCODE}"/>
                <DataGridTextColumn Header="Ürün Açıklaması" Binding="{Binding PRODUCT_NAME}"/>
                <DataGridTextColumn Header="Adet" Binding="{Binding QUANTITY}"/>
                <DataGridTextColumn Header="ISK" Binding="{Binding DISCOUNT}"/>
                <DataGridTextColumn Header="KDV" Binding="{Binding TAX}"/>
                <DataGridTextColumn Header="Birim Fiyat" Binding="{Binding PURCHASE_PRICE}"/>
                <DataGridTextColumn Header="Tutar" Binding="{Binding AMOUNT}"/>
            </DataGrid.Columns>
        </DataGrid>

Class Class

    class Invoice
{
    public Int64 BARCODE { get; set; }
    public string PRODUCT_NAME { get; set; }

    public int  QUANTITY{ get; set; }

    public int  DISCOUNT{ get; set; }

    public int TAX{ get; set; }

    public int PURCHASE_PRICE { get; set; }

    public int AMOUNT { get; set; }

    public static ObservableCollection<Invoice> getInvoice()
    {
        var invoice = new ObservableCollection<Invoice>();
        return invoice;
    }

}

XAML.CS XAML.CS

public partial class PurchaseInvoice : Page
{

    private const Visibility visible = Visibility.Visible;
    SqlDataReader dataReader;

    public string cariadi { get; private set; }

    public PurchaseInvoice()
    {
        InitializeComponent();
        DataContext = Invoice.getInvoice();

    }

}

I want;我想; users can create a new invoice on this datagrid panel.用户可以在此数据网格面板上创建新发票。 Each row represent a product.每行代表一个产品。 And, how user can control datagrid with arrowkeys?而且,用户如何使用箭头键控制数据网格?

Thanks for the reply.谢谢回复。

Set or bind the ItemsSource property of the DataGrid to the ObservableCollection<T> :DataGridItemsSource属性设置或绑定到ObservableCollection<T>

<DataGrid x:Name="UrunGrid" ItemsSource="{Binding}" ...

Or:或者:

UrunGrid.ItemsSource = Invoice.getInvoice();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM