似乎在向ASP.NET GridView添加一行时,Tab索引的行为不符合预期(或期望)。该选项卡不会在一行中的每一列之间进行制表,然后移至下一行,而将在列中的每一行下移,然后移至下一列,依此类推。简而言之,它将垂直而不是水平地跳动。对于数据输入应用程序(用户非常依赖键盘输入),这可能是一个问题。

这个问题有解决方案吗?

最佳答案

我已经为此花了一段时间了,并且有这个解决方案!希望它对遇到同样问题的其他人有所帮助。

protected void theGridView_DataBound(object sender, EventArgs e)
{
    SetTabIndexes();
}


private void SetTabIndexes()
{
    short currentTabIndex = 0;
    inputFieldBeforeGridView.TabIndex = ++currentTabIndex;

    foreach (GridViewRow gvr in theGridView.Rows)
    {
        DropDownList dropDown1 = (DropDownList)gvr.FindControl("dropDown1");
        dropDown1.TabIndex = ++currentTabIndex;

        TextBox inputField1 = (TextBox)gvr.FindControl("inputField1");
        inputField1.TabIndex = ++currentTabIndex;

        TextBox inputField2 = (TextBox)gvr.FindControl("inputField2");
        inputField2.TabIndex = ++currentTabIndex;

        TextBox inputField3 = (TextBox)gvr.FindControl("inputField3");
        inputField3.TabIndex = ++currentTabIndex;
    }

    someLinkAfterGridView.TabIndex = ++currentTabIndex;
}

关于c# - ASP.NET C#GridView选项卡索引问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1764677/

10-13 02:32