点击按钮使DataGrid新增一行,同时也设置光标在当前行的指定列,比如第1列,应该如何写?谢谢!
5 个解决方案
焦点应该设置在可以显示焦点的位置上,例如TextBox、CheckBox等,表格列无法获得焦点。虽然可以执行但是按理说应该无意义。不管有没有意义,在asp.net2.0下,假设第n行你要设置,你都可以这样设置:
this.Page.SetFocus(yourDataGrid.Items[n].Cells[0]);
如果你第一列中有一个TextBox其id为tb1,你可以写:
this.Page.SetFocus(yourDataGrid.Items[n].FindControl("tb1"));
后者才是比较真正符合html逻辑的做法(说明不到知道asp.net,应该也有一定html基础知识)。
不过我们其实已经不再使用 DataGrid 了。你可能使用的是 asp.net1.1,那么对于 SetFocus 就要自己用脚本来写。
在asp.net1.1上,大致要写:
this.Page.RegisterStartupScript("focus","<script language=javascript>"+
yourDataGrid.Items[n].FindControl("tb1").ClientID+".focus();</script>");