要更新GRIDVIEW中的PRESSNO列,但是update需要获取该PRESSNO修改之前和修改之后的值,请各位大大帮帮忙,谢谢了,本人新手                  <asp:TemplateField HeaderText="PRESSNO">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("lotno") %>' Width="70px" ></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("lotno") %>' Width="70px" ></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>

解决方案 »

  1.   

    在gridview_updaing事件中用e.newvalue["lotno"]获取更新后的数据
    用e.oldvalue["lotno"]获取更新前的数据
      

  2.   


    如果是用BoundField,newvalue和oldvalue是可以取到值,但是TemplateField似乎不行,我印象中是取不到的。
    我的做法是自己去获取单元格里面的控件。
    int editRow=e.EditIndex;
    ((TextBox)GridView1.Rows[editRow].Cells[columnIndex].Controls[0]).Text
    这样子。
      

  3.   

    e.EditIndex取出来的是当前正在编辑的行号
      

  4.   

    如果不是在RowEditing事件里写的话,直接掉 GridView.EditIndex也行