• GridView 多筆編輯批次存檔


    轉貼]GridView 多筆編輯批次存檔
    http://www.dotblogs.com.tw/jeff377/archive/2008/03/17/1762.aspx


    GridView 多筆編輯批次存檔GridView 預設的編輯儲存動作都是單筆的,若希望能 GridView 多筆編輯,按個鈕再進行批次儲存的動作,實作上相當簡單,只要四行程式碼就可以達成了,現在來看一下實作的步驟。

    1.先將欲編輯的欄位轉成 TemplateField。
    2.在 ItemTemplate 中置入可編輯的控制項,並繫結欄位。也可以 aspx 程式碼中直接把原來的 EditTemplate 直接改為 ItemTemplate。
    3.按鈕後執行 GridView 批次異動的動作。

    設計階段的畫面及 aspx 程式碼如下所示





    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>未命名頁面</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:Button ID="btnBatchUpdate" runat="server" Text="批次存檔" /><br />
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"
    DataSourceID="SqlDataSource1" EmptyDataText="沒有資料錄可顯示。">
    <Columns>
    <asp:BoundField DataField="ProductID" HeaderText="ProductID" ReadOnly="True" SortExpression="ProductID" />
    <asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" />
    <asp:TemplateField HeaderText="UnitPrice" SortExpression="UnitPrice">
    <ItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("UnitPrice") %>'></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="UnitsInStock" SortExpression="UnitsInStock">
    <ItemTemplate>
    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("UnitsInStock") %>'></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Discontinued" SortExpression="Discontinued">
    <ItemTemplate>
    <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("Discontinued") %>' />
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>"
    ProviderName="<%$ ConnectionStrings:NorthwindConnectionString1.ProviderName %>"
    SelectCommand="SELECT [ProductID], [ProductName], [UnitPrice], [UnitsInStock], [Discontinued] FROM [Products]"
    UpdateCommand="UPDATE [Products] SET [UnitPrice] = @UnitPrice, [UnitsInStock] = @UnitsInStock, [Discontinued] = @Discontinued WHERE [ProductID] = @ProductID">
    <UpdateParameters>
    <asp:Parameter Name="ProductName" Type="String" />
    <asp:Parameter Name="UnitPrice" Type="Decimal" />
    <asp:Parameter Name="UnitsInStock" Type="Int16" />
    <asp:Parameter Name="Discontinued" Type="Boolean" />
    <asp:Parameter Name="ProductID" Type="Int32" />
    </UpdateParameters>
    </asp:SqlDataSource>

    </div>
    </form>
    </body>
    </html>


    再來就是在按下按鈕時撰寫 GridView 批次儲存的程式碼

    Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub btnBatchUpdate_Click() Sub btnBatchUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnBatchUpdate.Click
    Dim N1 As Integer
    For N1 = 0 To GridView1.Rows.Count - 1
    '逐筆異動資料庫
    GridView1.UpdateRow(N1, False)
    Next
    End Sub
    End Class

  • 相关阅读:
    源码分析八( hashmap工作原理)
    安装svn客户端后,代码不能提交
    zookeeper使用
    并发编程基础之ThreadLocal
    并发编程基础之生产者消费者模式
    并发编程基础之wait以及notify的用法
    进程间通信-字符串的传递
    arcgis ERROR:000824 该工具未获得许可
    使用BAT批处理执行sql语句的代码
    Reg命令使用详解 批处理操作注册表必备
  • 原文地址:https://www.cnblogs.com/apollokk/p/6713932.html
Copyright © 2020-2023  润新知