VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 721|回复: 4

GridView的更新按钮问题

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-7 09:00:01 | 显示全部楼层 |阅读模式
点击编辑后,我更新里面的内容
然后点击更新,可是就是更新不了

更新按钮的代码
protected void GVeditor_RowUpdated(object sender, GridViewUpdatedEventArgs e)
    {
       try
        {
            string cj = ((TextBox)e.NewValues[5]).Text;//成绩
            string kccj = ((TextBox)e.NewValues[6]).Text;//考查成绩
            string xk = ((TextBox)e.NewValues[1]).Text;//学生ID
            string km = ((TextBox)e.NewValues[4]).Text;//科目

            string cmdtext = "update 成绩 set 成绩='" + cj + "',考查成绩='" + kccj + "' where 成绩.学生='" + xk + "' and 成绩.科目 in (select ID from 科目 where 科目.科目='" + km + "')";
            SqlConnection sqlconn = new SqlConnection(sqllink.sqlconn());
            sqlconn.Open();

            SqlCommand sqlcomm = new SqlCommand(cmdtext, sqlconn);
            sqlcomm.ExecuteNonQuery();
            sqlconn.Close();
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
        this.GVeditor.DataSource = gvBind();
        this.GVeditor.DataBind();   
        GVeditor.EditIndex = -1;
}

////////////////////HTML代码
   <asp:GridView ID="GVeditor" runat="server" Width="100%" Height="72px" AutoGenerateColumns="False" OnRowCancelingEdit="GVeditor_RowCancelingEdit" OnRowEditing="GVeditor_RowEditing" OnRowUpdating="GVeditor_RowUpdating" OnRowUpdated="GVeditor_RowUpdated" >
                <Columns>
                    <asp:BoundField DataField="学号" HeaderText="学号" ReadOnly="True" />
                    <asp:BoundField DataField="班级" HeaderText="班级" ReadOnly="True" />
                    <asp:BoundField DataField="姓名" HeaderText="姓名" ReadOnly="True" />
                    <asp:BoundField DataField="科目" HeaderText="科目" ReadOnly="True" />
                    <asp:TemplateField HeaderText="成绩">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("成绩") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label3" runat="server" Text='<%#Eval("成绩") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="考查成绩">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" Text='<%#Eval("考查成绩")%>'  runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label4" runat="server" Text='<%#Eval("考查成绩") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:CommandField ShowEditButton="True"></asp:CommandField>      
                </Columns>
           </asp:GridView>
        
感谢各位了

回复

使用道具 举报

0

主题

32

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-5-24 10:30:01 | 显示全部楼层
GVeditor_RowUpdated?
代码写在
GVeditor_RowUpdating事件里
回复

使用道具 举报

0

主题

8

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-5-24 13:00:01 | 显示全部楼层
你确认一下,数据库没有更新吗?还是你没有重新绑定?
事件没写对?
回复

使用道具 举报

3

主题

29

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-5-25 19:45:02 | 显示全部楼层
(1)更新的时机不对,你的事件更新完才能触发。
(2)更新不用写代码,邦定SqlDataSource,并写它的Update语句就可以了,注意取原值的参数用@original_字段名,新值取@字段名,OldParametersFormat属性设置为@original_{0}
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-7-24 20:15:01 | 显示全部楼层
我先去看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表