如果直接使用gridview模板中的“启用编辑”列,可以达到效果编辑→更新/取消,但是如果只是写了updatecommand的话貌似不能完成更新功能?
请问要如何完成更新功能?

解决方案 »

  1.   

    如果是sqldatasource,请保证有主键如果是其他数据源控件,应该没有问题如果是手动绑定,需要手写代码在事件中处理如果是其它问题,请补充完整...
      

  2.   


    有很多gridview操作的例子。。LZ可以参考一下参考1参考2
      

  3.   

    请问参考1在aspx里面是如何调用GridView1_RowUpdating的?
      

  4.   

    在 GridView1_RowUpdating 里面写更新语句不就行了
      

  5.   


    那aspx前台代码是怎么调用它的呢?还是说这个例子是直接后台绑定数据源呢?
    我现在已经在前台放了gridview并且绑定了数据源,并且定义了updatecommand,但是用gridview自己带的编辑列虽然点击更新不会报错了但是完全没有任何作用 没有把更新的数据写入数据库,我现在就想问要如何做才能让更新按钮生效?
      

  6.   


        <asp:GridView ID="GridView1" runat="server" DataSourceID="runningDataSource1" 
            Width="800px" EmptyDataText="没有可显示的数据..."
            AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" 
            ForeColor="#333333" GridLines="None" >
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <Columns>
                <asp:BoundField DataField="Title" HeaderText="任务名称" ReadOnly="True" 
                    SortExpression="Title" />
                <asp:BoundField DataField="neirong" HeaderText="任务内容" ReadOnly="True" 
                    SortExpression="neirong" />
                <asp:BoundField DataField="tbegin" HeaderText="开始时间" ReadOnly="True" 
                    SortExpression="tbegin" />
                <asp:BoundField DataField="beizhu" HeaderText="备注" ReadOnly="False" 
                    SortExpression="beizhu" />
                <asp:CheckBoxField DataField="finflag" HeaderText="完成" ReadOnly="False" 
                    SortExpression="finflag" />
                <asp:CommandField ButtonType="Button" EditText="操作" HeaderText="结束任务" 
                    ShowEditButton="True" ShowHeader="True" UpdateText="结束" />
            </Columns>
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#999999" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>
        <asp:SqlDataSource ID="runningDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:gscConnectionString %>" 
            
            
            SelectCommand="SELECT [tID], [countable], [Title], [neirong], [tbegin], [tend], [beizhu], [finflag], [Maker] FROM [task_log] WHERE ([Maker] = @Maker)"
            UpdateCommand="Update [task_log] set [beizhu] = @beizhu, [finflag] = @finflag, [tend]=@tend WHERE ([tID] = @tID)">
            <SelectParameters>
                <asp:SessionParameter Name="Maker" SessionField="UserName" />
            </SelectParameters>
            <UpdateParameters>
                <asp:Parameter Name="tID" Type="Int32" />
                <asp:Parameter Name="beizhu" Type="String" />
                <asp:Parameter Name="finflag" Type="Boolean" />
                <asp:Parameter Name="tend" Type="DateTime" />
            </UpdateParameters>
        </asp:SqlDataSource>
    请问如何让update生效?网上搜到的都是后台cs文件里绑定数据源的,这样难道就不能做更新等等操作了么?
      

  7.   

    OnRowUpdating属性可以写自定义的方法
      

  8.   

    经实验证明……我在后台写了个空的gridview1_rowupdating,然后数据源写了updatecommand以后就能更新了
      

  9.   


    为啥我还是不行呢????
    sqlDataSource都是在向导 窗体中配好的 ShowEditButton="True"  但是也木有效果啊
    求帮助!