Problem z dodawaniem do datagridview

0

Witam.

Mam problem z dodaniem do pustego datagridu nowego wpisu.

stworzyłem Datasecik:

public DataSet DS_otwory;

następnie uzupełniłem grida dodając kolejne kolumny

dataGridView1.Columns.Add(column0);
dataGridView1.Columns.Add(column1);
itd.

i później wreszcie próbuję wstawić wiersz:

object[] row = { kod, s_From, s_To, skladnik, lito, seam, uwagi };

                dataGridView1.DataSource = DS_otwory;
                dataGridView1.DataMember = "otwor";
                DS_otwory.Tables["otwor"].Rows.Add(row);

Będę wdzięczny za wskazówki

Zapomniałem dodać jaki rodzaj błędu otrzymuję...

"Object reference not set to an instance of an object."

w tej linii :

DS_otwory.Tables["otwor"].Rows.Add(row);

0

to znaczy w prostej linii, ze albo DS_otwory jest null, albo w owym DS_otwory nie istnieje tablica o nazwie 'otwor'. to ze robisz dataGridView1.DataMember = "otwor", to nie znaczy ze ta tablica sie magiczne utworzy - to tylko informuje datagridview ze ma z takiej tablicy w ds czytac, ale trzeba ja sobei utworzyc recznie, ew. sciagnac z bazy danych jakiejs

0

Dzisiaj powróciłem do tematu i chyba problem jest w tym, że mieszam coś z DataSetem :/

Jedyne co chciałem zrobić to z formularza powpisywać do gridview różne wartości.

Ostatnio po nieudanych próbach z dataset chciałem spróbować z dataTable.

tak więc zaczynam od deklaracji:

private DataTable DT_rozbij = new DataTable("otwor");

przy ładowaniu forma robię coś takiego:

DataColumn dCol = new DataColumn("kod", Type.GetType("System.Int16"));
dCol.Unique = true;
dCol.AllowDBNull = false;
DT_rozbij.Columns.Add(dCol);

a następnie jak już mam wprowadzone te kolumny, chciałbym połączyć to z dataGridem:

dataGridView1.DataSource = DT_rozbij;

wydaje mi się, że powinienem dodać jeszcze "dataGridView1.DataMember", ale nie wiem jaką zmienną mam nadać nazwę, skąd ona się bierze :/

Będę wdzięczny za wskazanie błędu.

0

datamember jest potrzebny jak dajesz dataset jako datasource, i ten dataset ma kilka tablic w sobie. wtedy datagridview nie wiedzialby ktora tablice wyswietlic, i wlasnie poprzez datamember podpowiada mu sie nazwe wlasciwej tablicy.

jak korzystasz z datatable jako datasource, nie musisz ustawiac datamember. jest tylko jedna tablica, wiec ona bedzie uzyta automatycznie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1