【问题标题】:C# wpf adding new row to another data tableC# wpf 将新行添加到另一个数据表
【发布时间】:2018-03-03 07:49:18
【问题描述】:

我有一个包含 9 列的产品表,我有另一个表,我只想有 4 列,这就是我声明这个的原因

    private void SetCartColumns()
    {
        cartTable.Columns.Add("Product Code", typeof(Int32));
        cartTable.Columns.Add("Product Name", typeof(String));
        cartTable.Columns.Add("Product Quantity", typeof(Int32));
        cartTable.Columns.Add("Total Price", typeof(double));
    }

现在我想将我的产品表中选定的索引或项目添加到购物车表中,这里是代码


    private void BtnAddToCart_Click(object sender, RoutedEventArgs e)
    {
        if (dtgProducts.SelectedItem == null)
        {
            MessageBox.Show("There is no selected rows!");// show a message here to inform
        }
        else
        {
            while (dtgProducts.SelectedItems.Count > 0)
            {
                int selectedIndex = dtgProducts.SelectedIndex;
                var selectedRows = ((DataRow)searchTable.Rows[selectedIndex]);
                int code = selectedRows.Field<int>(("Code"));
                string name = selectedRows.Field<string>(("Name"));
                int quan = selectedRows.Field<int>(("Quantity"));
                float price = selectedRows.Field<float>(("Price"));
                double totalPrice = Convert.ToDouble(price);


                cartTable.Rows.Add(new Object[] { code, name, quan, totalPrice });
            }
            dtgCart.ItemsSource = cartTable.AsDataView();
        }
    }

但是每当我单击“添加到购物车”按钮时,什么都没有发生,而是我的程序挂起,除了停止调试之外我无法单击任何内容.. 有人会告诉我如何将新项目添加到具有选定列的新表中只有

【问题讨论】:

  • 你能发布你的DataGrid的xaml吗?你不需要在你的代码中做这么多的工作来控制你的 DataGrid。

标签: c# wpf datatable datagrid


【解决方案1】:

参考这个: https://msdn.microsoft.com/en-us/library/5ycd1034.aspx

并且你应该避免在dataTable的列名中有空格

【讨论】:

    猜你喜欢
    • 2011-11-04
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多