将数据添加到数组并动态显示

时间:2014-12-18 20:13:23

标签: c# asp.net arrays gridview datatable

我希望在点击按钮到数组时动态地从数据库插入数据并将其绑定到网格视图控件。下面的代码有效,但它只接受一次数据,然后在另一次选择后覆盖以前选择的数据。

如果还有其他方法可以帮助

 protected void ASPxButton1_Click(object sender, EventArgs e)
        {    

            for (int i = 0; i < 10;i++)
            {
                string[,] arrMultiD = { { DropDownList1.SelectedItem.ToString(), DropDownList2.SelectedItem.ToString(), DropDownList3.SelectedItem.ToString() } };

                DataTable dt = new DataTable();
                dt.Columns.Add("Category", Type.GetType("System.String"));
                dt.Columns.Add("Product", Type.GetType("System.String"));
                dt.Columns.Add("Price", Type.GetType("System.String"));

                for (int j = 0; j < 1; j++)
                {
                    dt.Rows.Add();
                    dt.Rows[dt.Rows.Count - 1]["Category"] = arrMultiD[j, 0];
                    dt.Rows[dt.Rows.Count - 1]["Product"] = arrMultiD[j, 1];
                    dt.Rows[dt.Rows.Count - 1]["Price"] = arrMultiD[j, 2];
                }
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }

2 个答案:

答案 0 :(得分:0)

如果我说得对,那么你的问题是你的阵列通过点击动作按钮一次又一次地保存相同的数据。

有一个多维数组的解决方案。

您可以在多维数组中使用名称firstData(或任何其他名称)在位置0上插入第一个值,并使迭代器跳转到数组的下一个位置。 (像for循环)。然后,您可以对类别,产品或价格等数组中的每个数据进行寻址。无论...

这将是合乎逻辑的方法。

答案 1 :(得分:0)

我找到了你,但问题是使用for循环我们必须指定它将运行多长时间,在这种情况下,我不知道一次购买多少产品!登记/> 所以不能使用它 但是,谢谢! 而现在将其存储到会话中