C# 数据网格显示的内容值为';System.Data.DataRowView';
我的一个数据网格出现了问题,这让我不知所措,因为我一直都是这样做的,而且它总是有效的 我的DataTable是这样实现的: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
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;