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

バインドされたチェックボックスには、バインドされているデータが表示されます。デフォルトでは、ブール値またはnull許容ブール値フィールドの場合、trueはチェック済み、falseはチェックなし、nullは部分的として表示されます。nullデータがある場合は、これが表示される唯一の時間です。

その動作が気に入らない場合は、列に別のValueConverterを割り当てることができます。これは、IBooleanConverterを実装するクラスになります。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 に答える