一个数据表,里面一个布尔型字段flag。DataGrid显示这个字段,用checkbox表现出来。后面跟一个buttoncolumn。想用户点击这个checkbox,然后再点击button确认的时候,更新数据表的flag字段。
望大虾不吝赐教,怎么获取被选行的id值?id是自动编号的。

解决方案 »

  1.   

    <asp:datagrid DataKeyField="Page_ID" OnUpdateCommand="myGrid_Update" ........>
    ....................
    <asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" CancelText="取消" EditText="修改"></asp:EditCommandColumn>
    </asp:datagrid>
    _________________________________________________________________________
    protected void myGrid_Update(Object sender, DataGridCommandEventArgs e)
    {
    int myID=(int)datagrid1.DataKeys[(int)e.Item.ItemIndex];
    ................
    }
      

  2.   

    调试出错,信息:System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名: index
    如何解决?
      

  3.   

    假设你的ID在第一列
    Dim ID as String
    ID=Me.DataGrid1.Items(Me.DataGrid1.SelectedIndex).Cells(0).Text.Trim
    然后根据这个ID写Update就可以了
      

  4.   

    请问qixiao(七小)(做个斯文人) c#应该怎么写? 谢了
      

  5.   

    翻译
    string ID=this.DataGrid1.Items(this.DataGrid1.SelectedIndex).Cells[0].Text.Trim
      

  6.   

    同意发菜的方法
    <asp:datagrid DataKeyField="Page_ID" OnUpdateCommand="myGrid_Update" ........>
    DataKeyField设置成你数据表的标识ID字段名称int myID=(int)datagrid1.DataKeys[(int)e.Item.ItemIndex];
    在datagrid的update等事件可以取出ID的值
      

  7.   

    cmdUpdate=new OleDbCommand( "Update yonghu set kd_flag='true' Where id='myID'",conUpdate);
    cmdUpdate.ExecuteNonQuery();
    System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。会是哪个类型不匹配呢? kd_flag是布尔型 id是自动编号  
    myID是int myID=(int)datagrid1.DataKeys[(int)e.Item.ItemIndex];
      

  8.   

    把 kd_flag='true' 改成 kd_flag=true 也是一样的问题
      

  9.   

    SQL Server中
    kd_flag=1 'True
    kd_flag=0 'False
      

  10.   

    嗯 直接对id赋值测试了一下 应该是 kd_flag=True  但是myID好像没有得到值,id=myID提示说参数没有被指定值    我没有用EditCommandColumn而是用的ButtonColumn  然后对 OnItemCommand进行编辑
    这应该也一样吧  望qixiao大虾指点
      

  11.   

    cmdUpdate=new OleDbCommand( "Update yonghu set kd_flag='true' Where id="+myID,conUpdate);
      

  12.   

    非常感谢qixiao(七小)(做个斯文人)
    scocsdn(发菜)对我这个新手的指导 再次感谢