如果在最前面加一个CHECKBOX的模块列.问题是我怎么才能让程序知道我选择了它呢?

解决方案 »

  1.   

    private void DataGrid3_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType!=ListItemType.Header && e.Item.ItemType!=ListItemType.Footer && e.Item.ItemType !=ListItemType.EditItem)
    {
    string str=DataGrid3.DataKeys[e.Item.ItemIndex].ToString();
    CheckBox ch=(CheckBox)e.Item.FindControl("chk1");
    ch.Attributes.Add("onclick","javascript:alert('你选中了我"+e.Item.ItemIndex.ToString()+"');");
    }
    }
      

  2.   

    string str=DataGrid3.DataKeys[e.Item.ItemIndex].ToString(); 这句不要
    //判断是否是页眉,是否是页脚,是否是编辑列
    if(e.Item.ItemType!=ListItemType.Header && e.Item.ItemType!=ListItemType.Footer && e.Item.ItemType !=ListItemType.EditItem)  
    //找到当前的这个CHECKBOX,chk1是CHECKBOX的ID
    CheckBox ch=(CheckBox)e.Item.FindControl("chk1");
    //为这个CHECKBOX添加个属性ONCLICK点击事件,并执行一个JIAVASCRIPT,显示选中的行数
    ch.Attributes.Add("onclick","javascript:alert('你选中了我"+e.Item.ItemIndex.ToString()+"');");
    }
      

  3.   

    你写的我看懂了,可是在执行时,有一错误出现,希望帮我看下.
    索引超出范围。必须为非负值并小于集合大小。参数名: index 
    出错行是
    string str=DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
    他说e.Item.ItemIndex 超出了范围我觉得这是不可能的啊?为什么啊?