ASP.Net中的GridView - 选择正确的行

Bri*_*sio 7 asp.net gridview

我有一个包含GridView的页面.GridView一次分页有10个项目.通常,我希望用户从GridView中选择项目并填充FormView.这很好用.

我还想支持一个查询参数?ID = n,其中页面将加载指定的项目.

如何告诉DataGrid或数据源将哪个项设置为数据上下文?

我希望DataGrid转到正确的页面并选择项目,在FormView中显示指定的项目.

除了将数据源限制为特定项目之外,我无法弄清楚如何执行此操作,这会让用户感到困惑.

有什么想法吗?

sta*_*ium 9

如果将GridView控件包含主键的DataKey领域,有这个关于如何设置一个GridView的选择指标的基础上,记录的键值,使用扩展方法CodeProject上的文章:

public static void SetRowValueValueByKey(this GridView GridView, string DataKeyValue)
{
    int intSelectedIndex = 0;
    int intPageIndex = 0;
    int intGridViewPages = GridView.PageCount;

    // Loop thru each page in the GridView
    for (int intPage = 0; intPage < intGridViewPages; intPage++)
    {
        // Set the current GridView page
        GridView.PageIndex = intPage;
        // Bind the GridView to the current page
        GridView.DataBind();
        // Loop thru each DataKey in the GridView
        for (int i = 0; i < GridView.DataKeys.Count; i++)
        {
            if (Convert.ToString(GridView.DataKeys[i].Value) == DataKeyValue)
            {
                // If it is a match set the variables and exit
                intSelectedIndex = i;
                intPageIndex = intPage;
                break;
            }
        }
    }

    // Set the GridView to the values found
    GridView.PageIndex = intPageIndex;
    GridView.SelectedIndex = intSelectedIndex;
    GridView.DataBind();
}
Run Code Online (Sandbox Code Playgroud)