代码如下:
//创建触发事件
private void dg1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.EditItem)
{
DropDownList ddl1=(DropDownList)e.Item.FindControl("ddl1");
ddlSight.SelectedIndexChanged +=new EventHandler(ddlSight_SelectedIndexChanged);
}
}
//级联
private void ddlSight_SelectedIndexChanged(object sender,EventArgs e)
{
TextBox txtAre;    //定义
System.Web.UI.WebControls.TextBox;//希望获取到DataGrid中的某个绑定列中的TextBox控件。
}希望高手相助,不胜感激!

解决方案 »

  1.   

    我现在的问题是取不到DateGrid中的TextBox控件,郁闷中。。
      

  2.   

    private void ddlSight_SelectedIndexChanged(object sender,EventArgs e)
    {
      DropDownList ddl = (DropDownList)sender;
      DataGridItem dgi = (DataGridItem)ddl.Parent.Parent;  TextBox txtAre = (TextBox)dgi.FindControl("YourTextBoxID");...
    }
      

  3.   

    用ViewState或Session把Item或者行号保存起来,想不到什么好的办法
      

  4.   

    谢谢  saucer(思归) ,你这个方法我做过的。可是我在txtAre.Text付值报错,我个人认为是txtAre并没有定义。代码事例:
    DropDownList ddl = (DropDownList)sender;
      DataGridItem dgi = (DataGridItem)ddl.Parent.Parent;  TextBox txtAre = (TextBox)dgi.FindControl("MyTextId");string a;
    a="asdafda";
    txtAre=a.ToString();错误信息:
    未将对象引用设置到对象的实例。
    txtAre.Text=a.ToString();
      

  5.   

    show your template, make sure  you have<EditItemTemplate>
     <asp:TextBox id="MyTextId" runat="server" />
    </EditItemTemplate>