0

我使用了 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();

`

但这是行不通的。

4

2 回答 2

2

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

如果您不喜欢这种行为,可以为该列分配不同的 ValueConverter。这将是一个实现 IBoleanConverter 的类。您将使它成为选中或未选中的 null 。

于 2012-01-05T17:12:06.677 回答
1

我确定您现在已经弄清楚了,但是您的值转换器类存在一个错误(假设您希望 null 显示为 false)。IsFalse 方法应该是这样的:

public bool IsFalse(object value)
{
    if (value == null)
        return true;
    else
        return !Boolean.Parse(value.ToString());
}
于 2012-05-02T18:30:11.523 回答