如何从GridView获取价值

时间:2019-04-15 17:08:47

标签: c# asp.net gridview

例如,

ID  name  quantity 
1.  Test1 4
2.  Test2 5
3.  Test3 6

我想获取1,2,3的所有ID值并存储到数据库中,任何人都可以提出建议并提供示例代码吗?非常感谢

foreach (GridViewRow row in GridView1.Rows)
{              
    string[] productName = new string[GridView1.Rows.Count];
    for (int i = 0; i < GridView1.Rows.Count; i++)
    {

        productName[i] = row.Cells[i].Text;
        lbltext.Text = productName[0];
    }

这是我的代码,我总是得到最新的值,例如3。但是我想得到的是我的代码示例中的1。我感到困惑,希望能有所帮助

2 个答案:

答案 0 :(得分:0)

如果添加一个断点并逐步进行测试,则每次执行循环时,都会覆盖lbltext.Text的值。如果只需要第一行中的值,则可以消除循环并将其更改为

lbltext.Text = GridView1.Rows[0].Cells[0].Text;

在另一种情况下,如果要保留所有值,则可以更改此行代码,使其遍历行而不是单元格。

productName[i] = row[i].Cells[0].Text;

答案 1 :(得分:0)

当您只需要一个循环时,似乎您有一个循环嵌套在另一个循环中。这样的事情应该为您填充产品名称数组:

string[] productName = new string[GridView1.Rows.Count];

for (int i = 0; i < GridView1.Rows.Count; i++)
{
    var row = GridView1.Rows[i];

    productName[i] = row.Cells[1].Text;

}

可能是Cells [2]或其他索引,具体取决于网格的设置方式。不知道您在用lbltext做些什么,所以上面没有包括。