下午好,
我正在开发一个表格来在线下订单。
我从组合框中获取文章,并使用SQL查询获取该文章的详细信息。到目前为止,非常好。
我把那篇文章放到了gridview上。对于一篇文章,一切都好。
我选择了文章,点击插入按钮,并在gridview上插入带有详细信息的文章。
我的问题是如何添加更多行。当我单击插入按钮,使用不同的文章和细节时,我只会获得一行,并覆盖数据。
在所有行都在gridview中之后,我终于可以提交那些行并处理订单。
我应该使用什么来添加我需要的那么多行? ViewState的?会话状态?
我读过一些文章,但没有一篇能帮助我。
谢谢。
编辑:
我使用数据表来存储数据。
DataTable DT = new DataTable();
DT.Columns.Add("Artigo");
DT.Columns.Add("Descricao");
DT.Columns.Add("IVA");
DT.Columns.Add("PU");
DT.Columns.Add("UN");
DT.Columns.Add("Qtd");
DT.Columns.Add("TotalLiq");
try
{
int Qtd = Convert.ToInt32(Quantidade.Text);
int PrecoUnit = glb._precolente;
float TotalLiq = Qtd * PrecoUnit;
string str = "SELECT TOP 1 A.Artigo as Artigo, A.Descricao as Descricao, (SELECT Taxa FROM prisalviani.dbo.Iva WHERE Iva = A.Iva)AS IVA, A.UnidadeBase as UN FROM prisalviani.dbo.ARTIGO A where A.Artigo='" + result.ToString() + "'";
ListaLentes = Motor.Consulta(ref str);
while (!ListaLentes.NoFim())
{
DT.Rows.Add(ListaLentes.Valor("Artigo"),
ListaLentes.Valor("Descricao"),
ListaLentes.Valor("IVA"),
PrecoUnit,
ListaLentes.Valor("UN"),
Qtd,
TotalLiq
);
ListaLentes.Seguinte();
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
答案 0 :(得分:1)
您给出的描述有点模糊,您使用什么样的数据结构来保存订单行?你想实现类似购物篮的东西吗?
您可以实现自己的业务实体或使用数据集/数据表来保存新记录,您可以将这些对象保留在会话中。
有点帮助吗?
答案 1 :(得分:1)
假设您的datagridview包含3个String类型的单元格,
您可以使用:
object [] row1 = new object[] { "StringInCell1","StringInCell2","StringInCell3" }
dataGridView.Rows.Add(row1);
如果您需要编辑特定的单元格,可以使用以下方法进行编辑:
dataGridView.Rows[rowIndex].Cells[cellIndex].Value = "newValue";