当数据库中的值为NULL时,在Datagrid中显示空值(Guid)

时间:2012-11-29 13:09:53

标签: c# wpf datagrid viewmodel

在我的数据库表格中,我有一个可以包含Guid的列,但也可以是 NULL 。 在我的Viewmodel中,此字段配置为Guid并绑定到我的DataGrid

当我清除DataGrid中的字段并因此将值设置为null时,我得到一个错误'无法识别的Guid格式'。这是正确的,因为guid不能为空。 但是如何将其显示为null或至少将其作为 NULL 传递给数据库?

XAML绑定:

<DataGridTextColumn Binding="{Binding AttributeTypeValueId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Header="AttributeTypeValueId" />

我在模特中的财产:

private Guid _attributeTypeValueId;

public Guid AttributeTypeValueId
{
    get 
    {
        return _attributeTypeValueId; 
    }

    set
    {
        if (value != _attributeTypeValueId)
        {
            _attributeTypeValueId = value;
            RaisePropertyChanged("AttributeTypeValueId");
        }
    }
}

知道我该怎么做吗?

THX!

2 个答案:

答案 0 :(得分:2)

您可以使用可以为空的:

private Guid? _attributeTypeValueId;

答案 1 :(得分:0)

将字段和属性的类型更改为Guid?应该可以。我刚试过它。