DataGrid添加行的问题
<aspataGrid id="DataGrid1" runat="server" BorderColor="Aqua" AutoGenerateColumns="False" Width="376px"
Font-Size="12px">
<Columns>
<asp:BoundColumn DataField="id" HeaderText="ID"></asp:BoundColumn>
<asp:BoundColumn DataField="name" HeaderText="NAME"></asp:BoundColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
<asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</aspataGrid>
<asp:Button id="Button1" runat="server" Text="Add Row"></asp:Button>
=======================
page_load()
{
if(!this.IsPostBack)this.BindData();
}
private void BindData()
{
table = new DataTable("myTable");
table.Columns.Add("id");
table.Columns.Add("name");
DataRow row = table.NewRow();
row[0] = "1";
row[1] = "zhang san";
table.Rows.Add(row);
this.DataGrid1.DataSource = table;
this.DataGrid1.DataBind();
}
private void Button1_Click(object sender, System.EventArgs e)
{
DataRow row = table.NewRow();
row[0] = "";
row[1] = "";
table.Rows.Add(row);
this.DataGrid1.EditItemIndex = table.Rows.Count-1;
this.DataGrid1.DataSource = table;
this.DataGrid1.DataBind();
}
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
this.DataGrid1.DataSource = table;
this.DataGrid1.DataBind();
}
private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1.EditItemIndex = -1;
this.DataGrid1.DataSource = table;
this.DataGrid1.DataBind();
}
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
table.Rows[e.Item.ItemIndex].Delete();
this.DataGrid1.DataSource = table;
this.DataGrid1.DataBind();
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
table.Rows[e.Item.ItemIndex][0] = ((TextBox)e.Item.Cells[0].Controls[0]).Text;
table.Rows[e.Item.ItemIndex][1] = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
this.DataGrid1.EditItemIndex = -1;
this.DataGrid1.DataSource = table;
this.DataGrid1.DataBind();
}