Надо отобразить данные в гриде. Но данные не заранее добавленные. А получается так, что при загрузке в ArrayList данных не в событии Form1_Load, просто НИЧЕГО не отображается. (( В чем тут проблема. Может кто объяснить? Ниже код.
| Код | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections;
namespace ArrayList_DataGridView { public partial class Form1 : Form { private ArrayList ArrGuitar; private CurrencyManager curMan; private bool IsRefresh = false;
public Form1() { InitializeComponent(); ArrGuitar = new ArrayList(); ArrGuitar.Add(new Guitar(0, "", ""));
curMan = (CurrencyManager)dataGridView1.BindingContext[ArrGuitar];
dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = ArrGuitar; colID.DataPropertyName = "ID"; colName.DataPropertyName = "Name"; colJahr.DataPropertyName = "Jahr"; }
private void button1_Click(object sender, EventArgs e) { IsRefresh = true; this.Refresh(); }
private void Form1_Paint(object sender, PaintEventArgs e) { if (IsRefresh) { if ((ArrGuitar[0] as Guitar).ID == 0) ArrGuitar.RemoveAt(0); ArrGuitar.Add(new Guitar(1, "Hayneken", "1967")); ArrGuitar.Add(new Guitar(2, "Godzilla", "1962")); ArrGuitar.Add(new Guitar(3, "Crimona", "1977"));
curMan = (CurrencyManager)dataGridView1.BindingContext[ArrGuitar];
curMan.Refresh(); IsRefresh = false; } } } }
|
Когда в грид ничего не вставлено (закоментируйте строку | Код | ArrGuitar.Add(new Guitar(0, "", "")); |
), то при добавлении объектов вообще ничего не отображается. В чем загвоздка? |