在DataGrid中有两列DropDownList(ddl_first,ddl_second),还有一列是CheckBox(chk_select),
当我在单击CheckBox时,ddl_first设为有效,而ddl_second设为无效,再单击CheckBox时,ddl_first设为无效,而ddl_second设为有效(最根本的原因是,在单击CheckBox时,如何得到DataGrid的当前行的索引号)

解决方案 »

  1.   

    private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) 
    {  
    CheckBox chk = (CheckBox)e.Item.FindControl("CheckBox1"); 
    // 给CheckBox添加触发事件 
    chk.CheckedChanged +=new EventHandler(this.CheckBox1Change);
    }
    }.................................
    private void CheckBox1Change (object sender,EventArgs e)  

    CheckBox myCheckBox = (CheckBox)sender; 
    TableCell myTableCell = (TableCell)(myCheckBox.Parent);//checkBox1的父容器,即所在行所在列的cell 
    DataGridItem myItem = (DataGridItem)myTableCell.Parent; //DataGrid行 
    .....................}
      

  2.   

    wangrenda(浪人) ,
    chk.CheckedChanged +=new EventHandler(this.CheckBox1Change);添加得这个事件CheckBox1Change为什么总是不执行
      

  3.   

    用楼上wangrenda(浪人)的方法是不是每次都要刷新啊.
    可以考虑用客户端Javascript来实现 。
      

  4.   

    主要问题是DropDownList如何找到呀?