为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复从新表单实例向主表单上的数据网格发送数据

如何修复从新表单实例向主表单上的数据网格发送数据

C#
胡子哥哥 2022-11-22 15:19:51
我在 WPF 中有一个简单的库存管理器,它使用一个数据网格连接到一个表,前几天使用 SQL 工作,但更改了一行代码,现在它坏了。自从我把它弄坏后我就睡着了,不知道怎么修好它。问题似乎与下面 MainWindow 类中的 dataGrid1.Items.Add(testtables) 有关。我在 trycatch 中运行它时出现异常消息,指出在使用 ItemsSource 时该操作无效,应该使用 ItemsControl.ItemsSource 来访问和修改元素。这是主窗体的代码namespace WpfApp2{    /// <summary>    /// Interaction logic for MainWindow.xaml    /// </summary>    public partial class MainWindow : Window    {        DataClasses1DataContext dc = new DataClasses1DataContext(Properties.Settings.Default.TestingConnectionString);        public MainWindow()        {            InitializeComponent();            if (dc.DatabaseExists())            {                dataGrid1.ItemsSource = dc.TestTables;            }        }        private void newButton_Click(object sender, RoutedEventArgs e)        {            Window1 window1 = new Window1();            window1.Show();        }        public void NewLine (int ID, string nm, decimal pc)        {            TestTable testtable = new TestTable            {                ID = ID,                Name = nm,                Price = pc            };            dataGrid1.Items.Add(testtable);        }        private void saveButton_Click_1(object sender, RoutedEventArgs e)        {            dc.SubmitChanges();        }    }}MainWindow 的 XAML 代码<Window x:Class="WpfApp2.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"        xmlns:local="clr-namespace:WpfApp2"        mc:Ignorable="d"        Title="MainWindow" Height="450" Width="800">    <Grid>
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

在您的代码的这一部分:


  public MainWindow()

    {

        InitializeComponent();

        if (dc.DatabaseExists())

        {

            dataGrid1.ItemsSource = dc.TestTables;

        }

    }

您通过将数据表分配给 datagrid.ItemsSource 属性来显示数据。如果这样做,您需要通过修改 DataTable 而不是 DataGrid 来添加项目。


dataGrid1.Items.Add(testtable);

因此,尝试将 testtable 项目添加到现有集合 dc.TestTables 而不是上面的内容


查看完整回答
反对 回复 2022-11-22
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信