zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    PTA L2-023 图着色问题-前向星建图 团体程序设计天梯赛-练习集
    PTA L2-004 这是二叉搜索树吗?-判断是否是对一棵二叉搜索树或其镜像进行前序遍历的结果 团体程序设计天梯赛-练习集
    PTA L2-006 树的遍历-二叉树的后序遍历+中序遍历,输出层序遍历 团体程序设计天梯赛-练习集
    HDU1166敌兵布阵(线段树单点更新)
    洛谷P1019——单词接龙(DFS暴力搜索)
    洛谷P1309——迷宫(傻瓜DFS)
    CodeForce-791B Bear and Friendship Condition(并查集)
    傻子都能懂的并查集题解——HDU1232畅通工程
    洛谷P1309——瑞士轮(归并排序)
    洛谷P1583——魔法照片(结构体排序)
  • 原文地址:https://www.cnblogs.com/apollokk/p/6713932.html
Copyright © 2011-2022 走看看