尝试使用Linq显示数据库中的数据时,WPF DataGrid上出现空异常问题
下午的小伙子们/姑娘们 我试图在数据网格中显示数据库表中的数据,但得到一个空异常 下面是我的代码:尝试使用Linq显示数据库中的数据时,WPF DataGrid上出现空异常问题,wpf,linq,datagrid,Wpf,Linq,Datagrid,下午的小伙子们/姑娘们 我试图在数据网格中显示数据库表中的数据,但得到一个空异常 下面是我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; usin
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Configuration;
using System.Xml.Linq;
namespace LinkToSQL
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
LinqtoSQLDataClassesDataContext dataContext;
public MainWindow()
{
string connectionString = ConfigurationManager.ConnectionStrings["LinkToSQL.Properties.Settings.MyFirstDBConnectionString"].ConnectionString;
dataContext = new LinqtoSQLDataClassesDataContext(connectionString);
InsertUniversity();
}
public void InsertUniversity()
{
University yale = new University();
yale.Name = "Yale";
dataContext.Universities.InsertOnSubmit(yale);
dataContext.SubmitChanges();
MainDataGrid.ItemsSource = dataContext.Universities;
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows;
使用System.Windows.Controls;
使用System.Windows.Data;
使用System.Windows.Documents;
使用System.Windows.Input;
使用System.Windows.Media;
使用System.Windows.Media.Imaging;
使用System.Windows.Navigation;
使用System.Windows.Shapes;
使用系统配置;
使用System.Xml.Linq;
名称空间链接到SQL
{
///
///MainWindow.xaml的交互逻辑
///
公共部分类主窗口:窗口
{
LinqtoSQLDataClassesDataContext;
公共主窗口()
{
string connectionString=ConfigurationManager.connectionString[“LinkToSQL.Properties.Settings.MyFirstDBConnectionString”]。connectionString;
dataContext=新的LinqtoSQLDataClassesDataContext(connectionString);
插入大学();
}
公共教育学院()
{
耶鲁大学=新大学();
yale.Name=“yale”;
dataContext。大学。InsertOnSubmit(耶鲁);
dataContext.SubmitChanges();
MainDataGrid.ItemsSource=dataContext.universions;
}
}
}
当我运行它时,我得到一个异常,它告诉我dataGrid是空的:
这是我的XAML:
<Window x:Class="LinkToSQL.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:LinkToSQL"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<DataGrid x:Name="MainDataGrid" VerticalAlignment="Center" HorizontalAlignment="Center" Height="400" Width="760"/>
</Grid>
</Window>
提前谢谢 调用
InitializeComponent()
在访问XAML标记中定义的任何元素之前,在构造函数中执行的第一件事:
public MainWindow()
{
InitializeComponent();
string connectionString = ConfigurationManager.ConnectionStrings["LinkToSQL.Properties.Settings.MyFirstDBConnectionString"].ConnectionString;
dataContext = new LinqtoSQLDataClassesDataContext(connectionString);
InsertUniversity();
}
您是否删除了
初始化组件()代码>从公共主窗口(){…}
?从它给你的错误中可以看出,你的dataGrid是空的,因为它没有初始化。。我真不敢相信我竟然忽略了这件事,真是个愚蠢的错误!非常感谢!!!!!!!