我有DataGrid
如下
<DataGrid x:Name="Setvalue" Grid.Row="4" Grid.Column="6" AutoGenerateColumns="True">
</DataGrid>
我将数据绑定到DataGrid
,如下所示
Setvalue.ItemsSource = dataTable.DefaultView;
我想为每一行动态生成按钮。我已经尝试过了
DataGridViewButtonColumn btn = new
DataGridViewButtonColumn();
btn.HeaderText = "Copy";
btn.Text = "Copy";
btn.UseColumnTextForButtonValue = true;
Imported.Columns.Add(btn);
我收到类似“无法从DataGridViewButtonColumn转换为DataGridColumn”的错误。请让我知道任何方法。
答案 0 :(得分:1)
在XAML中使用DataGridTemplateColumn
创建一个CellTemplate
。如果希望它成为最后一列,则可以将AutoGenerateColumns
属性设置为false
并按照希望它们出现的顺序定义所有列:
<DataGrid x:Name="Setvalue" Grid.Row="4" Grid.Column="6" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" Header="Name" />
<DataGridTextColumn Binding="{Binding Type}" Header="Type" />
<DataGridTextColumn Binding="{Binding Place}" Header="Place" />
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Copy" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>