3

データ行をコントロールにバインドする必要があります。ここまでは順調ですね。問題は、データ行にバインドする必要のある列の文字列のみが含まれていることですが、もちろん、チェックボックスの「チェック済み」プロパティはブール引数のみを取ります。

ここでDataBindingを使用する方法はありますか?たぶん、間にある種のコンバーターがありますか?

ありがとう

4

1 に答える 1

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";
    }
于 2009-05-04T17:42:52.433 に答える