0

以下を設計し、DataGrid3つの列でマッピングしました。私はレコードを取得し、Linqこれを割り当てましたGrid。しかし、このグリッドはレコードを数回表示していました。何が振る舞うのかわかりませんか?この問題を解決するにはどうすればよいですか?

<DataGrid Name="workgrid" ItemsSource="{Binding it}" Margin="12,152,0,148" HorizontalAlignment="Left" Width="517">
        <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Width="100" Binding="{Binding PersonName}" />
        <DataGridTextColumn Header="Place" Width="100" Binding="{Binding Place}" />
        <DataGridTextColumn Header="Amount" Width="100" Binding="{Binding Amount}" />
        </DataGrid.Columns>
    </DataGrid>


var objResult = from c in objEntities.PersonAccounts
        select new { c.PersonName, c.Amount, c.Place };

workgrid.ItemsSource = objResult;  

アヌの助けや提案をいただければ幸いです!!!

4

1 に答える 1

0

AutoGenerateColumnsをfalseに設定します:

<DataGrid AutoGenerateColumns="False" Name="workgrid" ItemsSource="{Binding it}" Margin="12,152,0,148" HorizontalAlignment="Left" Width="517">
    <DataGrid.Columns>
    <DataGridTextColumn Header="Name" Width="100" Binding="{Binding PersonName}" />
    <DataGridTextColumn Header="Place" Width="100" Binding="{Binding Place}" />
    <DataGridTextColumn Header="Amount" Width="100" Binding="{Binding Amount}" />
    </DataGrid.Columns>
</DataGrid>

また、ItemsSourceを明示的にバインドして設定する必要はありません。1つだけ使用してください。

于 2013-03-27T11:04:41.260 に答える