删除Infragistics webDataGrid BoundCheckBoxField的部分检查行为

时间:2011-12-28 10:31:08

标签: c#-4.0 infragistics webdatagrid

我使用了Infragistics WebDataGrid,我有BoundCheckBoxField列,我想删除部分检查行为。只检查并取消选中

我写了下面的课,

public class BooleanConverter : IBooleanConverter 
{
    public BooleanConverter()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public object DefaultFalseValue
    {
        get { return false; }
    }

    public object DefaultTrueValue
    {
        get { return true; }
    }

    public bool IsFalse(object value)
    {
        if (value == null)
            return false;
        else
            return Boolean.Parse(value.ToString());
    }

    public bool IsTrue(object value)
    {
        if (value == null)
            return false;
        else
            return Boolean.Parse(value.ToString());
    }
}

` 我称之为:

     ((BoundCheckBoxField)this.uwGrid.Columns["Approval"]).ValueConverter = new BooleanConverter();

`

但这不起作用。

2 个答案:

答案 0 :(得分:2)

绑定复选框显示绑定到它的任何数据。默认情况下,对于布尔值或可以为空的布尔字段,它显示为true,如未选中,false显示为部分。这是它应该出现的唯一时间 - 如果你有空数据。

如果您不喜欢该行为,可以为该列分配不同的ValueConverter。这将是一个实现IBooleanConverter的类。你可以这样做,以便null被选中或取消选中。

答案 1 :(得分:1)

我确定你现在已经知道了,但你的值转换器类有一个错误(假设你想要null显示为false)。 IsFalse方法应该是这样的:

public bool IsFalse(object value)
{
    if (value == null)
        return true;
    else
        return !Boolean.Parse(value.ToString());
}