Wpis z mikrobloga

Mircy ogarniające #csharp pomocy!

Mam fragment kodu, który odpowiada za odświeżanie datagridview ale po dodaniu pierwszego urządzenia wywala NullReferenceException: Object reference not set to an object.

Wadliwy fragment kodu:

dataGridView1.Rows.Clear();
dataGridView1.Columns.Clear();
string[,] devs = Funkcje.LoadDevices();
string[] columns = { "ID", "Typ", "Nazwa","Timer" };
for (int i = 0; i < 4; i++)
{
dataGridView1.Columns.Add(columns[i], columns[i]);
}

for (int row = 0; row < Funkcje.CountDevices(); row++)
{
string[] device = new string[4];
for (int j = 0; j < 4; j++)
{
device[j] = devs[row, j];
}
DataGridViewRow wiersz = (DataGridViewRow)dataGridView1.RowTemplate.Clone();
wiersz.CreateCells(dataGridView1, device);
this.dataGridView1.Rows.Add(wiersz); //w tym miejscu już po pierwszej iteracji wywala błąd
}

Pomóżcie proszę bo idzie nerwicy dostać!
#programowanie #pytanie #kiciochpyta
  • 6
@giluu91: tylko raz bezpośrednio do dgv coś dodawałem ręcznie. zrobiłem to tak:
dgv.Rows.Add();
int i = dgv.Rows.Count - 1;
DataGridViewRow r = dgv.Rows[i];
r.Cells[0].Value = "cos";
Może niezbyt elegancko ale działa ;)