2015-05-16 6 views
1

У меня есть BindingList элементов, привязанных к моему dataGridView. Класс Item такой:dataGridView bind to List - преобразовать bool в изображение

public class Item : INotifyPropertyChanged 
{ 
    private string _Name; 
    private bool _Active; 

    public event PropertyChangedEventHandler PropertyChanged; 

    public string Name 
    { 
     get { return _Name; } 
     set { 
      _Name = value; 
      this.NotifyPropertyChanged("Name"); 
     } 
    } 

    public bool Active 
    { 
     get { return _Active; } 
     set { 
      _Active = value; 
      this.NotifyPropertyChanged("Active"); 
     } 
    } 

    private void NotifyPropertyChanged(string name) 
    { 
     if (PropertyChanged != null) 
      PropertyChanged(this, new PropertyChangedEventArgs(name)); 
    } 
} 

Тогда у меня есть BindingList & DataGridView;

BindingList<Item> ItemList = new BindingList<Item>(); 
dataGridView1.DataSource = ItemList; 

Я хочу BOOL Активный быть показано на DataGridView как Checked изображение, когда оно истинно, в противном случае не показывать ничего. Кнопка поверх DataGridView позволяет пользователям отмечать строку как активную.

В настоящее время dataGridView показывает флажок. Как я могу получить правильное связывание с bool в объекте объекта с изображением в dataGridView?

ответ

3

Исправлено, я изменил класс элемента, чтобы сохранить изображение вместо того, чтобы переводить bool в привязку;

public Image CheckImage 
    { 
     get 
     { 
      if (Active) 
       return Properties.Resources.check; 
      else 
       return null; 
     } 
    }