Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从SQL Server获取数据以填充C#WPF中的DataGrid_C#_Sql_Wpf_Xaml_Datagrid - Fatal编程技术网

从SQL Server获取数据以填充C#WPF中的DataGrid

从SQL Server获取数据以填充C#WPF中的DataGrid,c#,sql,wpf,xaml,datagrid,C#,Sql,Wpf,Xaml,Datagrid,我试图从数据库中获取数据,以便在WPF应用程序中填充到DataGrid中。我的数据库已连接到VisualStudio 2012,并且有一个.dml文件。当您单击主窗口上的“焰火目录”按钮时,应加载数据 据我所知,我有所有必要的参考资料,在构建和调试时没有出现任何错误。新窗口也将打开,并显示网格,但不显示数据。这里有一些代码 FireworkCatalog.xaml <DataGrid Name="FireworkCatalogGrid" HorizontalAlignment="L

我试图从数据库中获取数据,以便在WPF应用程序中填充到DataGrid中。我的数据库已连接到VisualStudio 2012,并且有一个.dml文件。当您单击主窗口上的“焰火目录”按钮时,应加载数据

据我所知,我有所有必要的参考资料,在构建和调试时没有出现任何错误。新窗口也将打开,并显示网格,但不显示数据。这里有一些代码

FireworkCatalog.xaml

    <DataGrid Name="FireworkCatalogGrid" HorizontalAlignment="Left" Margin="32,24,0,0" VerticalAlignment="Top" Height="236" Width="508" SelectionChanged="FireworkCatalogGrid_Window_Loaded" Background="#FF7C7878" BorderBrush="#FFDC3B18">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Type" Binding="{Binding Path=Type}"/>
            <DataGridTextColumn Header="Class" Binding="{Binding Path=Class}"/>
            <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
            <DataGridTextColumn Header="description" Binding="{Binding Path=Description}"/>

       </DataGrid.Columns>


下面是在数据库中使用LINQtoSQL时自动生成的一些代码,这样您就可以看到迄今为止的表名和列

FireworkData.designer.cs

  private void FireworkCatalogGrid_Window_Loaded(object sender, SelectionChangedEventArgs e)
    {

        FireworkDataDataContext data = new FireworkDataDataContext();
        List <fireworkType> fireworks = (from f in data.fireworkTypes
                                         select f) .ToList();
        FireworkCatalogGrid.ItemsSource = fireworks;
    }
 private void FwkCatalog_btn_Click(object sender, RoutedEventArgs e)
  {
       FireworkCatalog catalog = new FireworkCatalog();
       catalog.ShowDialog();
  }
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.fireworkType")]
public partial class fireworkType
{

    private string _Type;

    private string _Class;

    private string _Name;

    private string _Description;

    public fireworkType()
    {
    }
    }

对于如何将数据从我的SQL Server获取到我的WPF的任何帮助或其他想法,我们将不胜感激


编辑。

下面是另一组代码,用于查看如何处理每列的数据

[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Type", DbType="VarChar(50) NOT NULL", CanBeNull=false)]
    public string Type
    {
        get
        {
            return this._Type;
        }
        set
        {
            if ((this._Type != value))
            {
                this._Type = value;
            }
        }
    }

fireworkType
类型是否具有任何公共属性?您需要将
类型
名称
说明
公开为公共属性,以便绑定能够获取值

private string _Type;
public string Type
{
    get { return _Type; }        
}

作为一个单独的问题,如果您希望这些是可编辑的,您需要添加setter。如果要更新这些值并使其自动显示在网格中,则需要实现
INotifyPropertyChanged

每列的值都已设置了公共属性,请参见上面的编辑。