0

一口のタイトルで申し訳ありませんが、私がやろうとしていることは本当に基本的なことです。メッセージのある受信トレイでは、各メッセージのDBにhasBeenReadビットがあります。このメッセージがクリックされて「読み取られる」と、このビットはtrueに設定され、それ以外の場合はfalseに設定されます。

読み取られたもののすべての背景色をデフォルト以外のものに基本的に設定するにはどうすればよいのでしょうか。すべての行を調べてそのビットをチェックするなど、いくつかのアイデアがありました。しかし、十分な行を含む十分な大きさのグリッドビューがあると仮定すると、非常に非効率に聞こえます。また、行がデータベースにあるべき色を保存できると思っていましたが、これが実際に行の色を変更することにどのように変換されるかはわかりません。

4

1 に答える 1

1

最初の答えを書いたとき、頭の中にlistViewがありました。

ただし、rowDataBoundイベントを使用して、コードビハインドで行の色を設定することはできます。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" 
         DataKeyNames="xyz" onrowdatabound="GridView1_RowDataBound">
...
</asp:GridView>


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{               
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
         e.Row.BackColor = Color.FromName("#E56E94");     
    }
}
于 2013-01-18T02:40:24.077 に答える