textbox2是模板列裡面的東西,首先要找到footer行,注意footer行和內容的行是不同的,然後再賦值。具體參照latitude的文章。

解决方案 »

  1.   

    TextBox tb = (TextBox)(DataGrid1.Controls[0].Rows[5].FindControl("textbox2"))
      

  2.   

    int index = DataGrid1.Items.Count+2;TextBox tb = (TextBox)(DataGrid1.Controls[0].Rows[index].FindControl("textbox2"))这样就可以了
      

  3.   

    上面写错
    int index = DataGrid1.Items.Count+1;
      

  4.   

    可以了,我是这样解决的
    private void Button2_Click(object sender, System.EventArgs e)
    {
    DataGrid1.ShowFooter =true;
    foreach (DataGridItem item in DataGrid1.Controls[0].Controls)
    {
    if (item.ItemType == ListItemType.Footer )
    {
    //用item.FindControl查找相应的控件 TextBox tt=(TextBox)item.FindControl ("textBox2");
    tt.Text ="fdhsahll";
    }
    }
    }