ASP.Netのお勉強

GridViewに更新ボタン(SqlDataSource)@ASP.Net

GridViewに更新ボタンを作成します。

ここでは、SqlDataSourceを用います。
SqlDataSourceにUpdateCommandを作成します。

作成したSqlDataSourceをGridViewに設定します。
GridViewに更新ボタンを作成します。

GridViewのDataKeyNamesに、Keyを設定します。
Keyのカラムは、ReadOnly=Trueとします。
(更新のリンクを押すと、更新モードとなり、
 ラベルがテキストボックスに変化されますが、
Trueにすると、ラベルのままで更新不可となります。)

Trueにすると、データが渡されなくなるので、
Keyなどは、DataKeyNamesに設定し忘れないように。

あとは、画面を開いて動くことを確認します。

●aspx

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

<!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 id="Head1" runat="server">
    <title>ASP.Net GridView SqlDataSource 更新ボタン</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1"
ForeColor="#333333" GridLines="None" DataKeyNames="ID">
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True"
ForeColor="White" />
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <Columns>
                <asp:CommandField ShowEditButton="True" />
                <asp:BoundField DataField="ID" HeaderText="ID"
ReadOnly="True" />
                <asp:BoundField DataField="NAME" HeaderText="NAME" />
            </Columns>
            <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="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:DBConnectionString %>"
SelectCommand="SELECT [ID], [NAME] FROM [MS_USR]"
UpdateCommand="UPDATE [MS_USR] SET [NAME] = @NAME WHERE ([ID] = @ID)">
            <UpdateParameters>
                <asp:Parameter Name="NAME" />
                <asp:Parameter Name="ID" />
            </UpdateParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>

Copyright (C) ASP.Netのお勉強. All Rights Reserved.