Добрый день,Добавить новые строки в gridview перед отправкой в базу данных
Я разрабатываю форму для размещения заказов онлайн.
Я получаю статью из combobox и получаю детали этой статьи, используя SQL-запрос. Все идет нормально.
Я положил эту статью в сетку. Для одной статьи все в порядке.
Я делаю выбор статьи, нажимаю кнопку вставки, и статья с деталями вставлена в gridview.
Моя проблема заключается в том, как добавить несколько строк. Когда я нажимаю кнопку вставки, с другой статьей и деталями, я получаю только одну строку с перезаписанными данными.
После того, как все строки находятся в gridview, я, наконец, могу представить эти строки и обработать заказ.
Что я должен использовать, чтобы добавить столько строк, сколько мне нужно? ViewState? Состояние сессии?
Я прочитал несколько статей, но ни один из них не помог мне, как мне было нужно.
спасибо.
EDIT:
Я использую DataTable для хранения данных.
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);
}
Отредактированный вопрос с более подробной информацией. Да, это что-то вроде корзины. Я вставляю N строк в сетку, и когда у меня есть выбор, я отправляю и обрабатываю заказ. –
Использование сеанса для хранения данных datatable решило проблему. –