我有一个将行添加到数据表中的表单。所以我创建了数据表:
DataTable vendas = new DataTable();
然后在 Page_Load 上创建列:
vendas.Columns.Add("Nome");
vendas.Columns.Add("Morada");
vendas.Columns.Add("Contribuinte");
vendas.Columns.Add("CC");
vendas.Columns.Add("Email");
vendas.Columns.Add("Agregado");
vendas.Columns.Add("Banco");
vendas.Columns.Add("IBAN");
vendas.Columns.Add("Produtos");
然后在提交表单(按钮操作)中,它将表单值添加为新行并将它们绑定到 Gridview:
protected void x(object sender, EventArgs e)
{
DataRow venda = vendas.NewRow();
venda["Nome"] = nomecliente;
venda["Morada"] = moradacliente;
venda["Contribuinte"] = contribuintecliente;
venda["CC"] = cccliente;
venda["Email"] = mailcliente;
venda["Agregado"] = agregadocliente;
venda["Banco"] = bancocliente;
venda["IBAN"] = ibancliente;
venda["Produtos"] = produtocliente;
vendas.Rows.Add(venda);
GridviewVendas.DataSource = vendas;
GridviewVendas.DataBind();
}
发生的事情是,每次运行最后一个方法时,它都会覆盖前一行,而不是添加新行。我做错了什么,这可能是一个愚蠢的错误,但我只是没有看到。
编辑:这一切合二为一:
public partial class _Default : System.Web.UI.Page
{
public string nome;
public string planosaudeantigo;
public string valorplanosaudeantigo;
public string condicoesplanosaudeantigo;
public string stringagregadofamiliar;
public string nomecliente;
public string moradacliente;
public string contribuintecliente;
public string cccliente;
public string mailcliente;
public string agregadocliente;
public string bancocliente;
public string ibancliente;
public string produtocliente;
DataTable vendas = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
vendas.Columns.Add("Nome");
vendas.Columns.Add("Morada");
vendas.Columns.Add("Contribuinte");
vendas.Columns.Add("CC");
vendas.Columns.Add("Email");
vendas.Columns.Add("Agregado");
vendas.Columns.Add("Banco");
vendas.Columns.Add("IBAN");
vendas.Columns.Add("Produtos");
}
protected void InserirVenda_Click(object sender, EventArgs e)
{
nomecliente = NomeCliente.Text;
moradacliente = MoradaCliente.Text;
contribuintecliente = ContribuinteCliente.Text;
cccliente = CCCliente.Text;
mailcliente = MailCliente.Text;
agregadocliente = AgregadoCliente.Text;
bancocliente = BancoCliente.Text;
ibancliente = IbanCliente.Text;
for (int i = 0; i < ProdutosCliente.Items.Count; i++)
{
if (ProdutosCliente.Items[i].Selected)
{
produtocliente += ProdutosCliente.Items[i].Value + ",";
}
}
DataRow venda = vendas.NewRow();
venda["Nome"] = nomecliente;
venda["Morada"] = moradacliente;
venda["Contribuinte"] = contribuintecliente;
venda["CC"] = cccliente;
venda["Email"] = mailcliente;
venda["Agregado"] = agregadocliente;
venda["Banco"] = bancocliente;
venda["IBAN"] = ibancliente;
venda["Produtos"] = produtocliente;
vendas.Rows.Add(venda);
GridviewVendas.DataSource = vendas;
GridviewVendas.DataBind();
}
}