我正在使用c#和WPF,我有一个DataGrid控件,我可以动态显示DataTable中的数据,并且DataGrid控件的AutoGeneratedColumns属性也设置为false。
现在问题是我想在DataGrid控件中添加另一列( DataGridTemplateColumn ),这将是最后一列。
我使用下面的代码添加Button列:
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="btnDetails">Details</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
通过使用上面的代码,按钮列被添加到DataGrid但作为FIRST列,然后动态地添加DataTable的所有列。
所以我只想在最后一列中添加这个DataGridTemplateColumn。 请帮帮我。
感谢。
答案 0 :(得分:1)
您可以对列使用DisplayIndex属性,但我建议您在DataGrid声明中将AutogenerateColumns设置为false,然后按所需顺序手动添加列:
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Property1}" />
<DataGridTextColumn Binding="{Binding Path=Property2}" />
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="btnDetails">Details</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>