使用stringvalues复选框的数据绑定

时间:2009-05-04 17:01:45

标签: c# data-binding datarow

我必须将数据行绑定到我的控件。到现在为止还挺好。现在的问题是,我的数据行只包含我必须绑定的列中的字符串,但当然“检查”Checkbox的属性只接受布尔参数。

有没有办法在这里使用DataBinding?也许中间有某种转换器?

由于

1 个答案:

答案 0 :(得分:11)

使用ConvertEventHandler Delegate更改DataBinding的类型。

实施例

    Binding binding = new Binding("checked", dt, "string_field");
    binding.Format += new ConvertEventHandler(binding_Format);
    binding.Parse += new ConvertEventHandler(binding_Parse);
    this.checkbox1.DataBindings.Add(binding); 

    void binding_Format(object sender, ConvertEventArgs e)
    {
        if (e.Value.ToString() == "yep") e.Value = true;
        else e.Value = false;
    }

    void binding_Parse(object sender, ConvertEventArgs e)
    {
        if ((bool)e.Value) e.Value = "yep";
        else e.Value = "nope";
    }