全体を見渡してみましたが、c#Windowsフォームアプリケーションが機能しない理由がわからないようです。
だから私はいくつかのプライベートメンバーを持つItemクラスを持っています:
public class Item : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string name_;
public string name {
get { return name_;}
set
{
name_ = value;
this.NotifyPropertyChanged("Name");
}
}
private void NotifyPropertyChanged(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
次に、アイテムのバインディングリストを保持する別のクラスがあります
public class ItemList
{
public BindingList<Item> listItems { get; set; }
// Default constructor
public ItemList()
{
listItems = new BindingList<Item>();
}
public BindingList<Item> returnList()
{
return listItems;
}
public void addItem(Item newItem)
{
listItems.Add(newItem);
}
}
次に、listItemsからdatagridviewにリンクされているBindingSourceがあります
問題は、アイテムをlistItemsに追加しているのに、データグリッドビューに表示されないことです。datagridviewはすべてのデータメンバーを表示し、それらの列を作成していますが、アイテムは表示されていません。