Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.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
C# 数据网格显示的内容值为';System.Data.DataRowView';_C#_.net_Wpf_Datagrid - Fatal编程技术网

C# 数据网格显示的内容值为';System.Data.DataRowView';

C# 数据网格显示的内容值为';System.Data.DataRowView';,c#,.net,wpf,datagrid,C#,.net,Wpf,Datagrid,我的一个数据网格出现了问题,这让我不知所措,因为我一直都是这样做的,而且它总是有效的 我的DataTable是这样实现的: MyDataSets.Cash_TableData cashTable = new MyDataSets.Cash_TableData(); 然后,我通过以下方式向其填充一些数据: cashTable = cashTableAdapter.GetDataByName(PersonsName); 这一切都很好 我有一个DataGrid,其中包含以下内容: <Data

我的一个数据网格出现了问题,这让我不知所措,因为我一直都是这样做的,而且它总是有效的

我的DataTable是这样实现的:

MyDataSets.Cash_TableData cashTable = new MyDataSets.Cash_TableData();
然后,我通过以下方式向其填充一些数据:

cashTable = cashTableAdapter.GetDataByName(PersonsName);
这一切都很好

我有一个DataGrid,其中包含以下内容:

<DataGrid x:Name="dataGrid" ItemsSource="{Binding}" HorizontalAlignment="Left" Margin="22,354,0,0" VerticalAlignment="Top" Height="282" Width="695" IsReadOnly="True"/>
但是,当我执行此操作时,除第8列显示“System.data.DataRowView”外,每一列都显示正确的数据

我在第8列对DataTable中的每一项都进行了Console.WriteLine测试,结果都是正确的

有什么想法需要使第8列正确显示吗?列类型为字符串

谢谢

编辑

现金表现在在下面。出于隐私原因更改了某些列名

CREATE TABLE [dbo].[Cash Table] (
    [Id]                 INT            IDENTITY (1, 1) NOT NULL,
    [Name]               NVARCHAR (MAX) NOT NULL,
    [Gender]             NVARCHAR (MAX) NULL,
    [DOB]                DATE           NOT NULL,
    [Address]            NVARCHAR (MAX) NOT NULL,
    [Address_Two]        NVARCHAR (MAX) NOT NULL,
    [Person_ID]          NVARCHAR (MAX) NOT NULL,
    [Transaction_Date]   DATE           NOT NULL,
    [Item]              NVARCHAR (MAX) DEFAULT ('Not recorded') NOT NULL,
    [xxx]   NVARCHAR (MAX) DEFAULT ('Not recorded') NULL,
    [Amount]             FLOAT (53)     NOT NULL,
    [xxx]      NVARCHAR (MAX) NOT NULL,
    [xxx]   NVARCHAR (MAX) NOT NULL,
    [xxx] NVARCHAR (MAX) NOT NULL,
    [xxx]          NVARCHAR (MAX) NOT NULL,
    [xxx]         BIT            NOT NULL,
    [xxx]           NVARCHAR (MAX) NOT NULL,
    [xxx]               NVARCHAR (MAX) NOT NULL,
    CONSTRAINT [PK_Table] PRIMARY KEY CLUSTERED ([Id] ASC)
);

在MSDN论坛上查看此线程:

DataGrid单元格的值为“System.Data.DataRowView:

确保列的名称不包含空格。例如,这将使单元格值显示为“System.Data.DataRowView”:

这项工作:

dt.Columns.Add(new DataColumn("") { });
这将导致一个空白单元格(请注意列名中的尾随空格):

因此,请尝试将第8列的名称(或列的任何索引)设置为不带空格的有效名称:

cashTable.Columns[0].ColumnName = "unique";
dataGrid.DataContext = cashTable.DefaultView;

在MSDN论坛上查看此线程:

DataGrid单元格的值为“System.Data.DataRowView:

确保列的名称不包含空格。例如,这将使单元格值显示为“System.Data.DataRowView”:

这项工作:

dt.Columns.Add(new DataColumn("") { });
这将导致一个空白单元格(请注意列名中的尾随空格):

因此,请尝试将第8列的名称(或列的任何索引)设置为不带空格的有效名称:

cashTable.Columns[0].ColumnName = "unique";
dataGrid.DataContext = cashTable.DefaultView;

控制这3种情况,我认为该列是ComboBox、DropDownlist或类似的带有Value属性的列

1) 未分配与列(或列控件)相关的字段名

2) 与列(或列控件)相关的字段名可能错误

3) 与列(或列控件)相关的字段名有空格


控制这3种情况,我认为该列是ComboBox、DropDownlist或类似的带有Value属性的列

1) 未分配与列(或列控件)相关的字段名

2) 与列(或列控件)相关的字段名可能错误

3) 与列(或列控件)相关的字段名有空格


您可以发布Cash_TableData的实现吗?第8列有名称吗?检查。第8列确实有一个名称“Item”。问题在于您的
数据表,您没有显示该数据表,而不是您的DDL。看起来问题在于列名称“Item”。您可以发布现金表数据的实现吗?第8列是否有名称?检查。第8列确实有名称“Item”。问题在于未显示的
数据表,而不是DDL。看起来问题在于列名称“Item”。
cashTable.Columns[0].ColumnName = "unique";
dataGrid.DataContext = cashTable.DefaultView;