gpt4 book ai didi

c# - 在 asp.net c# 中更改 GridView 的选定行的颜色

转载 作者:行者123 更新时间:2023-11-28 08:27:25 25 4
gpt4 key购买 nike

我有一个 GridView 来显示消息列表。每行都有一个查看按钮,单击该按钮可以在弹出框中查看消息的更多详细信息。

现在我想在阅读消息后更改行的颜色,即灰色。最初, GridView 中消息的颜色也会有所不同。已读消息行的颜色应该与未读的颜色不同。一旦阅读,颜色将永久改变。未读的新添加的行消息必须是颜色(红色)并再次阅读(灰色)。

    <asp:GridView CssClass="myGridStyle" class="gridview"  ID="showmsg" runat="server" AutoGenerateColumns="false" Width="970px"
AlternatingRowStyle-BackColor = "#e6e6e6" DataKeyNames ="mesg_id" GridLines="none">
<Columns >
<asp:TemplateField ItemStyle-Width="150px" ItemStyle-Height="30" HeaderStyle-HorizontalAlign="center" HeaderText="From">
<ItemTemplate >
<asp:Label ID="lblfname" align="center" runat="server" Text='<%#Eval( "from_name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField ItemStyle-Width="150px" ItemStyle-Height="30" HeaderStyle-HorizontalAlign="center" HeaderText="Date">
<ItemTemplate >
<asp:Label ID="lbldate" align="center" runat="server" Text='<%#Eval( "sent_date","{0:M-dd-yyyy}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField ItemStyle-Width="350px" ItemStyle-Height="30" HeaderStyle-HorizontalAlign="center" HeaderText="Subject">
<ItemTemplate>
<asp:Label ID="lblsub" align="center" runat="server" Text='<%#Eval( "subject") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-Height="30" ItemStyle-Width="60px" >
<ItemTemplate>
<asp:LinkButton ID="lnkView" align="center" Font-Size="14px" font-family="calibri" Text="View" OnClick="lnkEdit_Click" runat="server"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<emptydatatemplate> <div style="text-align:center;font-weight:bold">You have not recieved any messages</div>
</emptydatatemplate>
<HeaderStyle BackColor="#929292" ForeColor="White" />
<RowStyle />
</asp:GridView>
<br/><br/><br/> <asp:Button ID="btnShowPopup" runat="server" style="display:none" />

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnShowPopup" PopupControlID="pnlpopup"
CancelControlID="btnCancel" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>
</td></tr>
</table></asp:Panel>
<asp:Panel ID="pnlpopup" runat="server" BackColor="White" Height="269px" Width="400px" style="display:none" >
<table width="100%" style="border:Solid 3px gray; width:100%; height:100%;" cellpadding="0" cellspacing="0" >
<tr style="background-color: gray">
<td colspan="2" style=" height:10%; color:White; font-weight:bold; font-size:larger" align="center">Message Details</td>
</tr>
<tr>
<td align="left" class="style1" >
<div > &nbsp;&nbsp; From:</div>
</td>
<td class="style2">
<asp:Label ID="lblfrom" runat="server" Font-Size="20px"></asp:Label>
</td>
</tr>
<tr>
<td align="left" class="style3">
<div> &nbsp;&nbsp; Message:</div>
</td>
<td class="style4">
<asp:Label ID="lblmsg" runat="server" Font-Size="20px"></asp:Label>
</td>
</tr>

<tr>
<td class="style5">
</td>
<td>
<asp:Button ID="btnCancel" runat="server" Text="OK" Width="60px" />
</td>
</tr>
</table>

请建议必须做什么。

最佳答案

您必须将已阅读的消息存储在某处。

如果这是在服务器端完成的,并且考虑到您在单击“lnkView”LinkBut​​ton 时正在执行回发,您可以使用 OnRowDataBound 并使用存储的“读取”标志设置行的颜色。

protected void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(read)
{
e.Row.BackColor = System.Drawing.Color.Red;
}
else
{
e.Row.BackColor = System.Drawing.Color.Blue;
}
}

关于c# - 在 asp.net c# 中更改 GridView 的选定行的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28475418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com