Привязка данных для флажка со строковыми значениями

StackOverflow https://stackoverflow.com/questions/820947

  •  03-07-2019
  •  | 
  •  

Вопрос

Мне нужно привязать строки данных к моим элементам управления.Все идет нормально.Проблема теперь в том, что моя строка данных содержит только строки в столбце, который мне нужно связать, но, конечно, свойство «проверено» флажка принимает только логические аргументы.

Есть ли способ использовать DataBinding здесь?Может быть, с каким-то преобразователем между ними?

Спасибо

Это было полезно?

Решение

Использовать Делегат ConvertEventHandler изменить типы для 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";
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top