因为datagrid有多行,如果你要让第一行的txtData获得焦点,可以
重写datagrid的ItemDataBound事件在事件中判断是否是第一行,然后用
this.Page.RegisterStartupScript("onload","<scirpt>"+e.Item.Cells[x].Controls[1].ClientID+".focus();</script>";这里e是ItemDataBound的参数

解决方案 »

  1.   

    protected void DEDR_Edit(object sender, DataGridCommandEventArgs e)
    {
    TextBox myTb= (TextBox)DataGrid.Items[e.Item.ItemIndex].Cells[1].FindControl("txtDate");
    string strJS= "<script language=JavaScript>";
    strJS+="_ctl0.";
    strJS+=myTb.ClientID ;
    strJS+=".focus();";
    strJS+=@"</script>";
    RegisterStartupScript("focus",strJS);
    }
      

  2.   

    用得着搞的如此复杂吗.http://aspnet.4guysfromrolla.com/demos/dgExample21.aspx还看不懂我就没办法了
      

  3.   

    <script language=JavaScript>DataGrid1__ctl3_TieleTextBox.focus();</script>报错说 DataGrid1__ctl3_TieleTextBox 未定义要我看了原文中是有的呀
    <textarea name="DataGrid1:_ctl3:TieleTextBox" id="DataGrid1__ctl3_TieleTextBox" style="background-color:#C0FFFF;width:100%;">asdfasdfsadf</textarea>请高手帮忙看一下。