If by "each column contains a Textbox." you mean that there is a textbox outside the Datagrid object, where user can input values, and you want to add a new row filled with data from those textboxes, you can do it like that:
//You should already have a dataset binded with data grid, right? Let say that your //dataset's name is 'ds':
DataSet ds = new DataSet();
ds.Tables.Add("MyTable");
//create row and fill it:
DataRow rw = new DataRow();
rw["MyColumn1"] = textBox1.Text;
rw["MyColumn2"] = textBox2.Text;
rw["MyColumn3"] = textBox3.Text;
rw["MyCol........
//add the row:
ds.Tables["MyTable"].Rows.Add(rw);
Changes are automatically included in your dataset (here named 'ds').
How to save changes to database depends on how you are connected to it, so I sugest reading about it on your DB producer's site.
Hope it helped!