WPF Datagrid显示两次列

use*_*841 0 c# linq wpf datagrid

我已经通过将数据绑定到数据库列成功地在datagrid中显示数据,但问题是,完全显示之后所有数据列都会出现两次(即id,user_id,status,id,user_id,status).如何摆脱这个,这是我的代码

<DataGrid x:Name="Grid_display" Grid.ColumnSpan="3" Margin="63,51,36,10" Grid.RowSpan="2">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="ID" Binding="{Binding Path=id}"/>
                    <DataGridTextColumn Header="Publisher ID" Binding="{Binding Path=user_id}"/>
                    <DataGridTextColumn Header="Publication Title" Binding="{Binding Path=title}"/>
                    <DataGridTextColumn Header="Published Date of Document" Binding="{Binding Path=published_date}"/>
                    <DataGridTextColumn Header="File" Binding="{Binding Path=file}"/>
                    <DataGridTextColumn Header="Status" Binding="{Binding Path=status}"/>

                </DataGrid.Columns>
            </DataGrid>

 private void display_btn_Click(object sender, RoutedEventArgs e)
        {
            List<publication> q = (from p in db.publications where p.user_id == get_id select p).ToList();
            Grid_display.ItemsSource = q;

        }
Run Code Online (Sandbox Code Playgroud)

Nit*_*tin 10

您必须设置AutoGenerateColumns="False"数据网格.默认情况下,它是true并添加另一组列.

<DataGrid x:Name="Grid_display" Grid.ColumnSpan="3" AutoGenerateColumns="False" 
          Margin="63,51,36,10" Grid.RowSpan="2"/>
Run Code Online (Sandbox Code Playgroud)

  • 是的,这应该是答案:) (2认同)