2011-12-28 32 views
0

Infragistics WebDataGridを使用しましたが、BoundCheckBoxField列があり、部分チェック動作を削除したいと思います。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(); 

`

しかし、それは動作していません。

答えて

1

これで分かったと思いますが、バリューコンバータクラスにバグがあります(nullをfalseと表示させたい場合)。 IsFalseメソッドは次のようになります。

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

バインドされたチェックボックスは、バインドされているすべてのデータを表示します。デフォルトでは、booleanまたはnullableブール型フィールドの場合、チェックされている場合はtrue、チェックされていない場合はfalse、部分的な場合はnullが表示されます。それはあなたがヌルデータを持っているなら、それが現れるべき唯一の時間です。

この動作が気に入らない場合は、列に別のValueConverterを割り当てることができます。これは、IBooleanConverterを実装するクラスです。 nullをチェックするかチェックしないようにします。

関連する問題