Frage

Ich habe datarows meine Kontrollen zu binden. So weit, ist es gut. Das Problem ist jetzt, dass mein datarow enthält nur Zeichenfolge in der Spalte I zu binden, aber natürlich die Eigenschaft „geprüft“ eine Checkbox nimmt nur boolean Argumente.

Gibt es eine Möglichkeit Databinding hier zu benutzen? Vielleicht mit irgendeiner Art von Wandler dazwischen?

Danke

War es hilfreich?

Lösung

Mit der ConvertEventHandler Delegierter ändern Typen für Databinding.

Beispiel

    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";
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top