【问题标题】:GridView - set selected index by searching through data keysGridView - 通过搜索数据键设置选定的索引
【发布时间】:2010-03-17 21:30:40
【问题描述】:

我有一个 GridView,它的产品 ID 为 DataKey[0]。 如果我有例如productId = 54,有没有办法搜索所有 GridView 项并设置为选中有 DataKEY[0] = 54 的那个?

对于我有一个下拉列表:

ddlProducts.Items.FindByValue(lblProduct.Text.ToString())).Selected = true

GridView 有什么类似的吗?

提前致谢。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您可能需要在 foreach 循环中执行此操作:

    foreach(GridViewRow myRow in GridView1.Rows)
    {
        if(GridView1.DataKeys[myRow.RowIndex].Equals("keyValue"))
        {
             GridView1.SelectedIndex = myRow.RowIndex;
             break;
        }
    }
    

    但是,如果您有很多行,您将不会从中获得非常好的性能。

    【讨论】:

    • 请提一个问题:“在 GridView1.Rows 中”只会占用我的前 10 条记录(在我的情况下 pageSize 为 10)。有没有办法遍历 GridView 中的所有记录?因为该产品例如可以在第 4 页上......谢谢。
    【解决方案2】:

    马特非常接近。他忘记了“价值”属性:

    foreach(GridViewRow myRow in GridView1.Rows)
    {
        if(GridView1.DataKeys[myRow.RowIndex].Value.Equals("keyValue"))
        {
            GridView1.SelectedIndex = myRow.RowIndex;
            break;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      相关资源
      最近更新 更多