似乎在向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/