閲覧総計:28478  (本日:19  昨日:2)

 GridViewで特定の行の背景色を赤にし、目立つ様にしたい場合がある。
 その方法を確認したので、記録に残しておく。 09/12/03

【稼働画面】

#ref(): File not found: "AutoDate01.JPG" at page "GridViewの特定行の背景色の変更法"

【方法】

<script runat="server">
    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
        'タイトル行以外の行で
        If e.Row.RowType = DataControlRowType.DataRow Then
            '「状態」が空白でない行は背景を赤にする
            If e.Row.Cells(2).Text <> "&nbsp;" Then
                e.Row.BackColor = Drawing.Color.Red
            End If
        End If
    End Sub
</script>

【ハマリポイント】
 「状態」のセルの「空白」の判断で、「セルには何の情報も入っていない。」と思って
いたら、実は「 」の情報が入っていた。
※ は「半角スペース」のこと。(non-breaking space)

【機能】データの新規挿入を行うと「作成日時」と「更新日時」に現在の日時が自動
登録される。
 GridViewの「編集」機能でデータの「更新」を行うと「更新日時」に現在の日時が
自動登録される。

【稼働画面】

#ref(): File not found: "AutoDate01.JPG" at page "GridViewの特定行の背景色の変更法"

Accessデータベース名:MyDB.mdb
テーブル名:名簿2

フィールド名データ型フィールドサイズ
ID (主キー)オートナンバー型長整数型
名前テキスト型50
作成日時日付/時刻型
更新日時日付/時刻型

※VWD2005、ASP.NET2.0ではAccess2007のDBファイル形式(*.accdb)は利用できない。
DBファイルは「Acces2002-2003形式(*.mdb)」で保存してASP.NETで利用する。

開発環境:VWD2005 + Access2003
サーバ:ASP.NET2.0 + Access2003

【AutoDate01.aspx】

<%@ Page Language="VB" %>

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

<script runat="server">
    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
        'タイトル行以外の行で
        If e.Row.RowType = DataControlRowType.DataRow Then
            '「状態」が空白でない行は背景を赤にする
            If e.Row.Cells(2).Text <> "&nbsp;" Then
                e.Row.BackColor = Drawing.Color.Red
            End If
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>GridViewの行の背景色を変える</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        GridViewの行の背景色を変える 09/12/02<br />
        <br />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
            DataSourceID="AccessDataSource1" EmptyDataText="表示するデータ レコードがありません。" OnRowDataBound="GridView1_RowDataBound" CellPadding="4" ForeColor="#333333" GridLines="Vertical">
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
                <asp:BoundField DataField="名前" HeaderText="名前" SortExpression="名前" />
                <asp:BoundField DataField="状態" HeaderText="状態" SortExpression="状態" />
            </Columns>
            <RowStyle BackColor="#E3EAEB" />
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#7C6F57" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="App_Data\MyDB.mdb"
            DeleteCommand="DELETE FROM `名簿` WHERE `ID` = ?" InsertCommand="INSERT INTO `名簿` (`ID`, `名前`, `状態`) VALUES (?, ?, ?)"
            SelectCommand="SELECT `ID`, `名前`, `状態` FROM `名簿`" UpdateCommand="UPDATE `名簿` SET `名前` = ?, `状態` = ? WHERE `ID` = ?">
            <DeleteParameters>
                <asp:Parameter Name="ID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="ID" Type="Int32" />
                <asp:Parameter Name="名前" Type="String" />
                <asp:Parameter Name="状態" Type="String" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="名前" Type="String" />
                <asp:Parameter Name="状態" Type="String" />
                <asp:Parameter Name="ID" Type="Int32" />
            </UpdateParameters>
        </asp:AccessDataSource>
        <br />
    
    </div>
    </form>
</body>
</html>

【参考にしたページ】
  該当なし


選択肢 投票
参考になった 0  
ふつう 0  
参考にならなかった 0  

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS