我使用了inffragistics 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();
绑定复选框显示绑定到它的任何数据。默认情况下,对于布尔值或可空的布尔值字段,它显示为已检查的true,未检查的false,部分显示为null。这是它应该显示的唯一时间-如果您有空数据。
如果您不喜欢这种行为,您可以为该列分配一个不同的ValueConverter。这将是一个实现IBooleanConverter的类。您可以使null变为选中或未选中
我相信您现在已经弄清楚了,但是您的值转换器类有一个错误(假设您希望null显示为false)。IsFalse方法应该是这样的:
public bool IsFalse(object value)
{
if (value == null)
return true;
else
return !Boolean.Parse(value.ToString());
}