Make one DataSet
DataSet textData_DataSet = new DataSet();
Add One Data Table in It
DataTable dtLocal = textData_DataSet.Tables["textData_DataTable"];
dtLocal.Columns.Add("txtitem", typeof(string));
dtLocal.Columns.Add("txtqty ", typeof(double));
Make Datarow each time you want to add data in datagrid add new raw each time in existing datatable "dtLocal" not making new datatable each time you want to add row
DataRow drLocal;
drLocal = dtLocal.NewRow();
drLocal["txtitem "] = txtitem.text.toString();
drLocal["txtqty "] = (double)txtqty.text;
dtLocal.Rows.Add(drLocal);
Call this method to refresh datagrid
this.RefreshDatagrid(textData_DataSet);
Refresh DataGrid Each Time You Add Data
Public void RefreshDatagrid(DataSet datasetArg)
{
yourDatagrid.DataSource = datasetArg.DefaultView;
}