实际上是这样的,datagrid里的第一列是checkbox,需要实现的效果是当有多行数据的时候,checkbox只能选中一个,也可以一个都不选,这样的话就需要取到checkbox的变更事件去做处理,但我试过了N多种事件都无法正确反应出checkbox的check状态改变这个事件.请大家帮帮忙啊,急啊!

解决方案 »

  1.   

    你可以在脚本中获取这些checkbox的状态。
      

  2.   

    忘了说了我是windows Form,不要告诉我用click事件,因为checkbox支持光标移上去后按空格键也能改变check状态
      

  3.   

    CheckedChanged 当 Checked 属性的值更改时发生。
      

  4.   

    还不行就试这个CheckStateChanged 当 CheckState 属性的值更改时发生。
      

  5.   

    在CheckedChanged 事件中判断
      

  6.   

    在这个datagrid的itemcreate事件里加上
    private void dg_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    CheckBox cb=e.Item.FindControl("CheckBox");
    cb.CheckedChanged += new System.EventHandler(this.CheckBox1_CheckedChanged);
    ......
    }
    } private void CheckBox1_CheckedChanged(object sender, System.EventArgs e)
    {
    ......
    }
      

  7.   

    CheckedChanged 当 Checked 属性的值更改时发生。
      

  8.   

    看看这个网页
    http://community.csdn.net/Expert/topic/3610/3610050.xml?temp=.7954218
      

  9.   

    你们说的都没用,还是我自己搞定了,继承了DataGridBoolColumn,自己写pait函数,在里面加了boolValueChanged事件.