初めての ASP.Net Web アプリケーションを開発しています。多くのことを学んでいますが、理解できない問題があります。
Collection を DataSource として持つ GridView があります。GridView を Collection にバインドすると、正常に動作します。
List<string> l = new List<string>();
l.Add("hello");
l.Add("world");
GridView1.DataSource = l;
GridView1.DataBind();
しかし、問題は、リストに新しい項目を追加すると、それがグリッドに表示されないことです。GridView1.DataBind(); を実行した後に変更されるのは正常であることを読みました。グリッドに追加されません。
いくつかの調査を行ったところ、ObservableCollection を使用してそれを実行できることがわかりました。ObservableCollection を GridView にバインドし、新しい項目を追加すると、GridView でも変更が発生するはずです。私はこれをしました:
ObservableCollection<string> o = new ObservableCollection<string>();
o.Add("hello");
o.Add("world");
GridView1.DataSource = o;
GridView1.DataBind();
そして、アプリを実行すると正常に動作し、データは表示されますが、ボタンを追加し、クリックイベントで新しい要素を ObservableCollection に追加しましたが、グリッドに表示されず、表示されません理由を知っている。
protected void Button1_Click(object sender, EventArgs e)
{
o.Add("test");
}
誰かが私を助けてくれることを願っています。
ありがとう!!