0

最初は、AutoGeneratedColumns = True を使用して dataGrid を生成し、dataTable から値を取得していました。ただし、各データセットの列数は固定されているため、それに応じて名前を付けたいので、コードで名前を付けますが、コードを実行したときにタブが選択されていない場合、インデックスが範囲外であるというエラーが発生しました.

AutoGeneratedColumns = False を実行し、列を手動で定義することにしました。ただし、続編では、データ dataGrid が空で、データが表示されませんでした。データ テーブル名は Underlyings であり、実行時に生成されますが、それ以前には存在しません。

私のXAMLコードの下:

<DataGrid ItemsSource ="{Binding Path=Underlying}" AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="462,145,0,203" Name="dataGrid3" Width="872" >
    <DataGrid.Columns>
        <DataGridTextColumn Header="In" Binding="{Binding FirstColumnName}" />
        <DataGridTextColumn Header="InL" Binding="{Binding SecondColumnName}" />
        <DataGridTextColumn Header="Total  " Binding="{Binding ThirdColumnName}" />
    </DataGrid.Columns>
</DataGrid>

そして、コードでは次のようになります

dataGrid3.ItemsSource = Underlying.DefaultView

ただし、データテーブルは実行時に生成されるため、設計時にバインドするものがないため、XAML バインディングは機能しないと思います。そうする方法はありますか?

4

1 に答える 1