我使用了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();
`
但这不起作用。
答案 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());
}