protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        string id = this.GridView1.DataKeys[e.RowIndex][0].ToString();
        string mon = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells [5].Controls[0]).Text.ToString();
        int mid=Convert .ToInt32(id);
        int umoney=Convert .ToInt32(mon);
        clu.changemoney(mid,umoney);
        this.GridView1.EditIndex = -1;
        getdata ();
    }
ID获取的是一个编号.这个我获取到了,但我要修改第五个单元格的值啊..用string mon = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells [5].Controls[0]).Text.ToString();这个怎么实现不了啊??我一点GRIDVIEW里的修改时.单元格的值还是不变~0~

解决方案 »

  1.   

    更新没有变化
    If (!IsPostBack)
    {
      //这里绑定数据
    }
      

  2.   

    每一条记录在GV中用一行显示
    你现在以经取到了这一行的ID 要修改第五个的值,就写一条update语句,执行后重新加载一次 你这样直接修改的话还不如直接用GV中自带的编辑功能
      

  3.   

    public void DataGrid_update(object sender, DataGridCommandEventArgs e)
            {
                cmd = new SqlCommand("UpdateService", Conn);
                cmd.CommandType = CommandType.StoredProcedure;            cmd.Parameters.Add(new SqlParameter("@serviceid", SqlDbType.Int , 4));
                //cmd.Parameters.Add(new SqlParameter("@cno", SqlDbType.Char, 20));
                cmd.Parameters.Add(new SqlParameter("@stype", SqlDbType.Char, 20));
                cmd.Parameters.Add(new SqlParameter("@title", SqlDbType.VarChar , 50));
                cmd.Parameters.Add(new SqlParameter("@riqi", SqlDbType.Char, 10));
                cmd.Parameters.Add(new SqlParameter("@detail", SqlDbType.VarChar, 200));            string colvalue;
                //colvalue = ((TextBox)e.Item.Cells[0].Controls[0]).Text;
                //cmd.Parameters["@cno"].Value = colvalue;            colvalue = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
                cmd.Parameters["@stype"].Value = colvalue;            colvalue = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
                cmd.Parameters["@title"].Value = colvalue;            colvalue = ((TextBox)e.Item.Cells[3].Controls[0]).Text;
                cmd.Parameters["@riqi"].Value = colvalue;            colvalue = ((TextBox)e.Item.Cells[4].Controls[0]).Text;
                cmd.Parameters["@detail"].Value = colvalue;
                
                cmd.Parameters["@serviceid"].Value = DataGrid1.DataKeys[(int)e.Item.ItemIndex];            Conn.Open();
                try
                {
                    cmd.ExecuteNonQuery();
                    //Lbl_note.Text = "晤憮傖髡";
                    DataGrid1.EditItemIndex = -1;
                }
                catch
                {
                    //Lbl_note.Text = "晤憮囮啖";
                    //Lbl_note.Style["color"] = "red";
                }
                Conn.Close();
                GetData();
            }