[英]Bind button to datagrid dynamically in WPF
I have DataGrid
as below 我有如下的DataGrid
<DataGrid x:Name="Setvalue" Grid.Row="4" Grid.Column="6" AutoGenerateColumns="True">
</DataGrid>
I am binding the data to DataGrid
as below 我将数据绑定到DataGrid
如下
Setvalue.ItemsSource = dataTable.DefaultView;
I want to generate buttton for each row dynamically.I have tried like this 我想动态地为每一行生成buttton。
DataGridViewButtonColumn btn = new
DataGridViewButtonColumn();
btn.HeaderText = "Copy";
btn.Text = "Copy";
btn.UseColumnTextForButtonValue = true;
Imported.Columns.Add(btn);
I am getting error like "cannot convert from DataGridViewButtonColumn to DataGridColumn" . 我收到类似“无法从DataGridViewButtonColumn转换为DataGridColumn”的错误。 Please let me know any approach . 请让我知道任何方法。
Create a DataGridTemplateColumn
with a CellTemplate
in your XAML. 在XAML中使用CellTemplate
创建一个DataGridTemplateColumn
。 If you want it to be the last column, you could set the AutoGenerateColumns
property to false
and define all columns in the order you want them to appear: 如果希望它成为最后一列,则可以将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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.