enableViewState="true"
前台页面
<asp:datagrid id="djDataGrid" runat="server" Height="20px" Width="100%" AutoGenerateColumns="False" BorderWidth="0px" CellSpacing="0" CellPadding="0"
ShowFooter="false" ItemStyle-HorizontalAlign="Center" OnEditCommand="djDataGrid_EditCommand" OnItemDataBound="djDataGrid_ItemDataBound" OnDeleteCommand="djDataGrid_DeleteCommand">
<HeaderStyle/>
<ItemStyle/>
<Columns>
<asp:ButtonColumn HeaderText="" Text=" + " ButtonType="PushButton" CommandName="Edit"></asp:ButtonColumn>
<asp:TemplateColumn HeaderText="乘客姓名" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:TextBox runat="server" ID="Xingming" Columns="8" Text='<%# DataBinder.Eval(Container, "DataItem.xingming") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="乘客类型" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:DropDownList ID="Lixing" runat="server">
<asp:ListItem Value="成人">成人</asp:ListItem>
<asp:ListItem Value="儿童">儿童</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="折扣" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:TextBox runat="server" ID="Discount" Columns="3" Text='<%# DataBinder.Eval(Container, "DataItem.discount") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
后台程序:
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("", typeof(System.String)));
dt.Columns.Add(new DataColumn("xingming", typeof(System.String)));
dt.Columns.Add(new DataColumn("lingxing", typeof(System.String)));
dt.Columns.Add(new DataColumn("discount", typeof(System.String)));
for (int i = 0; i < 5; i++)
{
DataRow dr1 = dt.NewRow();
dr1[0] = "";
dr1[1] = "";
dr1[2] = "";
dr1[3] = "";
dt.Rows.Add(dr1);
}
djDataGrid.DataSource = dt;
djDataGrid.DataBind();
}
protected void djDataGrid_EditCommand(object source, DataGridCommandEventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("", typeof(System.String)));
dt.Columns.Add(new DataColumn("xingming", typeof(System.String)));
dt.Columns.Add(new DataColumn("lingxing", typeof(System.String)));
dt.Columns.Add(new DataColumn("discount", typeof(System.String)));
for (int i = 0; i < djDataGrid.Items.Count; i++)
{
DataRow dr = dt.NewRow();
dr[0] = "";
dr[1] = ((TextBox)djDataGrid.Items[i].FindControl("Xingming")).Text;
dr[2] = ((DropDownList)djDataGrid.Items[i].FindControl("Lixing")).SelectedValue;
dr[3] = ((TextBox)djDataGrid.Items[i].FindControl("Discount")).Text;
dt.Rows.Add(dr);
}
DataRow dr1 = dt.NewRow();
dr1[0] = "";
dr1[1] = "";
dr1[2] = "";
dr1[3] = "";
dt.Rows.Add(dr1);
djDataGrid.DataSource = dt;
djDataGrid.DataBind();
}
protected void djDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemIndex >= 1)
{
Button bt = (Button)e.Item.Cells[0].Controls[0];
bt.Text = " - ";
bt.CommandName = "Delete";
}
}
protected void djDataGrid_DeleteCommand(object source, DataGridCommandEventArgs e)
{
if ("Delete" == e.CommandName)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("", typeof(System.String)));
dt.Columns.Add(new DataColumn("xingming", typeof(System.String)));
dt.Columns.Add(new DataColumn("lingxing", typeof(System.String)));
dt.Columns.Add(new DataColumn("discount", typeof(System.String)));
for (int i = 0; i < djDataGrid.Items.Count; i++)
{
DataRow dr = dt.NewRow();
dr[0] = "";
dr[1] = ((TextBox)djDataGrid.Items[i].FindControl("Xingming")).Text;
dr[2] = ((DropDownList)djDataGrid.Items[i].FindControl("Lixing")).SelectedValue;
dr[3] = ((TextBox)djDataGrid.Items[i].FindControl("Discount")).Text;
dt.Rows.Add(dr);
}
dt.Rows.RemoveAt(e.Item.ItemIndex);
djDataGrid.DataSource = dt;
djDataGrid.DataBind();
}
}