如何使用itemsoure从查询中更改datagrid列名?

时间:2013-07-10 13:56:17

标签: c# sql wpf datagrid

这是我的问题:

var query = from battery in db.batteries                           
            select battery;

我使用此命令加载数据网格中的数据:

mydatagrid.ItemsSource = query.ToList();

最终结果如下:

enter image description here

我遇到的问题是我无法编辑datagird的列。例如,我想隐藏一些列,如ID列或ownid列。我还想更改列名:serialnumber - > “序列号”,assemblydate - > “日期”。

我该怎么做?

谢谢,

Jean-Baptiste Collet

2 个答案:

答案 0 :(得分:1)

您需要将AutoGenerateColumns设置为false并在DataGrid.Columns中指定列

<DataGrid AutoGenerateColumns="False">
     <DataGrid.Columns>
          <DataGridTextColumn Header="Serial Number" Binding="{Binding serialnumber}" />
          ...
     </DataGrid.Columns>
</DataGrid>

答案 1 :(得分:1)

将autogenerate列设置为false并定义您自己的列

<DataGrid x:Name="dgExp" AutoGenerateColumns="False" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Serial number" Width="*" Binding="{Binding Path=serialnumber }" />
<DataGridTextColumn Header="Date" Width="*" Binding="{Binding Path=assemblydate }" />
</DataGrid.Columns>
</DataGrid>