【发布时间】:2015-05-19 18:16:57
【问题描述】:
使用 WPF, 我遇到了 datagrid 的数据没有被渲染的问题,我只能看到空行。 (正在插入、调试一些数据。) 即使数据网格保留 dg.ItemsSource 中的值,它仍然显示空行。
XML 代码:
<DataGrid Name="dg" Initialized="dg_Initialized" AutoGenerateColumns="False"
CanUserResizeRows="False" CanUserAddRows="False" CanUserDeleteRows="False"
IsReadOnly="True"
ItemsSource="{Binding}" SelectionMode="Extended">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" Header="Name"/>
<DataGridTextColumn Binding="{Binding Type}" Header="Type"/>
<DataGridTextColumn Binding="{Binding InventoryID}" Header="InventoryID"/>
<DataGridTextColumn Binding="{Binding Location}" Header="Location"/>
<DataGridCheckBoxColumn Binding="{Binding InStock}" Header="InStock"/>
<DataGridTextColumn Binding="{Binding StockCount}" Header="StockCount"/>
<DataGridTextColumn Binding="{Binding Price}" Header="Price"/>
</DataGrid.Columns>
后端代码:
我正在将每个产品添加到集合中 最后我将集合添加到数据网格项目源。
data = new ObservableCollection<Product>();
productsList = bl.FindProductByName(""); // Get List of products
for (int i = 0; i < productsList.Count; i++)
{
if (productsList[i] != null)
data.Add(productsList[i]);
}
dg.ItemsSource = data;
产品持有:
Name - string
Type - string
InventoryID - Integer
Location - Integer
InStock - Bool
StockCount - Integer
Price - Integer
【问题讨论】:
-
如我所见,您已关闭列自动生成。您是否手动创建了列?如果有,它们是如何配置的?
-
您的问题没有包含足够的信息,请提供更多详细信息,例如设置数据的方法或 Aloraman 所说的如何创建列?
-
是的,我手动创建了列我现在编辑@Aloraman