C# 使用StringValue对复选框进行数据绑定

C# 使用StringValue对复选框进行数据绑定,c#,data-binding,datarow,C#,Data Binding,Datarow,我必须将数据行绑定到我的控件。到现在为止,一直都还不错。现在的问题是,我的datarow在我必须绑定的列中只包含字符串,但是复选框的属性“checked”当然只接受布尔参数 这里有没有使用数据绑定的方法?也许中间有某种转换器 感谢使用更改数据绑定的类型 范例 Binding binding = new Binding("checked", dt, "string_field"); binding.Format += new ConvertEventHandler(binding_

我必须将数据行绑定到我的控件。到现在为止,一直都还不错。现在的问题是,我的datarow在我必须绑定的列中只包含字符串,但是复选框的属性“checked”当然只接受布尔参数

这里有没有使用数据绑定的方法?也许中间有某种转换器

感谢使用更改数据绑定的类型

范例

    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";
    }

您使用什么作为布尔值的字符串表示形式?”真“/”假“?”1'/'0'? 一些代码可能会有所帮助,最好是绑定控件的代码。非常感谢。但还有一个问题。ConvertEventHandler在进入数据库时也会将我的值转换回字符串。我的意思是,数据绑定意味着涵盖了这两种方式。是的,它可以使用Parse事件转换回字符串。我已经更新了示例来展示这一点。非常感谢。但有一条注释:必须将formattingEnabled设置为启用,否则永远不会调用Format事件。绑定绑定=新绑定(“选中”,dt,“字符串_字段”,true);可以将复选框绑定到int而不是字符串吗?具体地说,我想绑定它,这样当复选框被选中时,字段被设置为100,当它被清除时,字段被设置为0。