Mozda je najbolje da napisem malo detaljniji primer:
Naprimer imas tabelu koja je definisana ovako:
Code:
DataTable MojaTabela=new DataTable();
MojaTabela.Columns.Add("ID",typeof(UInt32));
MojaTabela.Columns.Add("ime",typeof(string));
MojaTabela.Columns.Add("prezime",typeof(string));
MojaTabela.Columns.Add("godine",typeof(UInt32));
i imas dataGridView koji ima definisane sledece kolone: ime, prezime, godine.
i sada kada hoces da dodas redove iz dataGridView-a u tabelu radis sledece:
Code:
for(int i=0;i<dataGridView1.Rows.Count-1;i++)
MojaTabela.Rows.Add(new object[] {null,dataGridView1.Rows[i].Cells["ime"].Value,dataGridView1.Rows[i].Cells["prezime"].Value,Convert.ToUint32(dataGridView1.Rows[i].Cells["godine"].Value)})
Sada koristim for-petlju umesto foreach i uzimam celije po imenu da bi korisnik mogao eventualno da menja raspored kolona.
ID kolona u DataTable je verovatno auto_increment i nema potrebe da sam zadajes njenu vrednost, to radi baza podataka. takodje pogledaj kojim rasporedom dodajem kolone u MojaTabela i koje vrednosti dodajem u tabelu.
Takodje obrati paznju na tipove podataka u kolonama, da li neka kolona sadrzi null ili ilegalnu vrednost i kao takva moze izbaciti exception.
Nadam se da sam bio dovoljno jasan.