【发布时间】:2017-01-08 21:55:31
【问题描述】:
我的一个 DataGrids 出现问题,这让我不知所措,因为我一直都是这样做的,而且它总是有效...
我的 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"/>
然后我用...填充 DataGrid
dataGrid.DataContext = cashTable.DefaultView;
但是,当我这样做时,每一列都会显示正确的数据,除了第 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)
);
【问题讨论】:
-
你能发布Cash_TableData的实现吗?
-
第 8 列有名字吗?检查THIS。
-
第 8 列确实有一个名称,“项目”。
-
问题在于您的
DataTable,您没有显示,而不是您的 DDL。 -
看起来问题出在列名“项目”上。