DataGrid中每条记录初始状态显示为"未完成".
我想点一条就变成"完成".并保存到数据库.下次加载就是我操作后的状态.

解决方案 »

  1.   

    点一条更新数据库里的一个标志字段变成"完成"。并重新绑定DataGrid。
      

  2.   

    或者加入一个自定义列CheckBox,通过其Checked属性判断是否“完成”
      

  3.   

    简单!标志字段未完成.点击事件获得当前行.update表为完成.
      

  4.   

    跟编辑一样的原理。最关键的就是要取道单击数据的标志字段值,
     protected void DataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
       if (e.Item.ItemIndex != -1)
    {
     e.Item.Attributes.Add("onClick", "test(e.Item.Cells[0].Text)");
    }
    }html:
    function test(id)
    {
     //处理更新
    }
      

  5.   

    数据库里设置状态字段,每次的点击动作都跟新一下状态字段,然后重新邦定DataGrid
      

  6.   

    标志字段未完成.点击事件获得当前行.先update表的所有记录为未完成(只更新状态为“完成”的也可以).在update表的点击的记录为完成!
      

  7.   

    你点击"完成"要完成两件事情:
    1.你要先将数据表中标识完成状态的字段改为未完成
    update [表] set [标识字段]='未完成' where [标识字段]='完成'
    2.将你选中的记录标识更改为完成
    update [表] set [标识字段]='完成' where [id]=你选中的那一行的唯一标识最后你最好用事务控制,将这两条SQL语句写到一个存储过程里
    否则出错了就不好办了
      

  8.   

    我用'选择列'标识(‘完成’‘未完成’)可以吗?
    我每次点击只能标识一行,再点下一行时。前一行状态又还原了。
    还有一个问题。就是状态保存在数据库里时候。加载DataGrid时候。选择列怎么判断并显示相应标识(完成、未完成).
      

  9.   

    选择列 最好是CheckBox
    在DATAGRID里显示是否完成这一列
      

  10.   

    我想在DataGrid.用文字标识。点一哈就是“完成”再点一哈就是“未完成”。那用什么好呢?
      

  11.   

    在每一行里面,添加一个模板列,此模板列里面放入一个图标按钮,根据不同情况,分别显示打勾及打叉,并且为此图标设定事件commandname=Update,如此,当点击此图标时,我们可在update事件里面判断当前点击的是哪一行,取出该行的主键值,到数据库中去更新,然后重新绑定该datagrid控件.
    数据库中必须有一个字段表示状态,比如一个type number(1)的字段,0/1表示否/是,每次加载时,根据此标志变换图标,语法如下:
    <%# "<img src=../images/" + DataBinder.Eval(Container, "DataItem.type").ToString() == "1"?"ok.gif":"no.gif" + ">" %>