Pergunta

Eu tenho que DataRows ligam a meus controles. Por enquanto, tudo bem. O problema agora é que minha datarow contém apenas cordas na coluna eu tenho que ligar, mas é claro que a propriedade "marcado" de uma caixa de seleção leva argumentos única boolean.

Existe uma maneira de usar DataBinding aqui? Talvez com algum tipo de conversor no meio?

Graças

Foi útil?

Solução

Use a ConvertEventHandler Delegado para alterar os tipos de DataBinding.

Exemplo

    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";
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top