c#将行添加到datagrid组合框中

时间:2016-07-09 09:02:45

标签: c# wpf combobox datagrid

我有一个简单的数据网格,里面有一个组合框:

<DataGrid AutoGenerateColumns="False" CanUserSortColumns="False" x:Name="DataGridassemble" ItemsSource="{Binding Cicli_ops}">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Prodotto" x:Name="tipo_prodotto" ItemsSource="{Binding}" SelectedItemBinding="{Binding tipo_prodotto}" Width="150"></DataGridComboBoxColumn></DataGrid.Columns>

组合框有4个值,由列表填充:

public ObservableCollection<Cicli_operazioni> Cicli_ops { get; set; }

//code etc

lista_prodotti.Add("cerchio");
lista_prodotti.Add("triangolo");
lista_prodotti.Add("quadrato");
lista_prodotti.Add("stella");
tipo_prodotto.ItemsSource = lista_prodotti;



//Cicli_operazioni class:
public class Cicli_operazioni
{
    public string Tipo_prodotto {get;set;}
}

一切正常,组合框正确绑定,值显示等。 但是我想在datagrid中添加一些默认行,显示几行以使用户更容易。所以我试过了:

Cicli_ops.Add(Tipo_prodotto= "cerchio");

但元素是一个组合框,所以它给我一个错误,说我不能将字符串转换为datagridcomboboxcolumn,我真的不知道如何告诉它从中选择一个项目。

1 个答案:

答案 0 :(得分:1)

我自己解决了,抱歉。

Cicli_ops.Add(new Cicli_operazioni { Tipo_prodotto="cerchio" }); 

Tipo_prodotto是一个字符串,xaml变为

<DataGridComboBoxColumn Header="Prodotto" x:Name="tipo_prodotto" ItemsSource="{Binding}" SelectedItemBinding="{Binding Tipo_prodotto}"