Добавить новые строки в сетку перед отправкой в ​​базу данных - PullRequest
0 голосов
/ 18 января 2011

Добрый день,

Я разрабатываю форму для размещения заказов онлайн.

Я получаю статью из выпадающего списка и получаю информацию об этой статье, используя SQL-запрос.Пока все хорошо.

Я поместил эту статью в 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);
        }

Ответы [ 2 ]

1 голос
/ 18 января 2011

Предполагая, что ваше представление данных содержит 3 ячейки типа String,

Вы можете использовать:

object [] row1 = new object[] { "StringInCell1","StringInCell2","StringInCell3" }
dataGridView.Rows.Add(row1);

А если вам нужно отредактировать определенную ячейку, вы можете сделать это, используя:

dataGridView.Rows[rowIndex].Cells[cellIndex].Value = "newValue";
1 голос
/ 18 января 2011

описание, которое вы дали, немного расплывчато, какую структуру данных вы используете для хранения строк заказа?Вы хотите реализовать нечто похожее на корзину покупок?

вы можете реализовать свои собственные бизнес-объекты или использовать набор данных / таблицу данных для хранения новых записей, вы можете хранить эти объекты в сеансе.

это немного помогает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...