I am having a problem of adding data into a grid. wherever i click a button to add an item into a grid, it always add remain the last item i add only. Here is some of my code, i am thikning is the post back problem but i do not know where to place the post back.

Here is some of my code:
DataTable dt = new DataTable();
DataView dv = new DataView();
DataRow dr;
protected System.Web.UI.WebControls.DataGrid dg;
protected System.Web.UI.WebControls.DropDownList ddlOption;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
OpenTable();
InitializeDropdown();
if (!IsPostBack)
{
InitializeDataGrid();
}
}
public void InitializeDropdown()
{
if (!IsPostBack)
{
ArrayList values = new ArrayList();
values.Add ("id 1");
values.Add ("id 2");
values.Add ("id 3");
values.Add ("id 4");
values.Add ("id 5");
ddlOption.DataSource = values;
ddlOption.DataBind();
}
}
public void OpenTable()
{
dt = new DataTable();
dt.Columns.Add(new DataColumn("id", typeof(string)));
}
public void InitializeDataGrid()
{
dv = new DataView(dt);
dg.DataSource = dv;
dg.DataBind();
}
private void Button1_Click(object sender, System.EventArgs e)
{
dr = dt.NewRow();
dr[0] = ddlOption.SelectedItem;
dt.Rows.Add(dr);
InitializeDataGrid();
dg.DataBind();
}
~ Human Knowledge Belongs to the World !