私は新しい ASP.NET 開発者で、解決方法がわからないという少し奇妙な問題に苦しんでいます。小さな Web ベースのイベント管理システムを開発しています。イベントは GridView に一覧表示されます。現在、予約数がそのイベントの座席数に達したときに、イベントを強調表示するか、その横に (終了) という記号を付ける方法を探しています。どうやってするか?
次のデータベース設計があります。
Events Table: ID, Title, Description, Location, StartDateTime, EndDateTime, NumberOfSeats, IsActive
BookingDetails Table: BookingID, EventID, NetworkID
(IsActive は、イベントがまだアクティブであるか、非アクティブになるかを示すフラグです)
私の ASP.NET コード:
<asp:GridView ID="ListOfAvailableEvents_GrivView" runat="server" AutoGenerateColumns="False"
DataKeyNames="ID" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333"
GridLines="None" AllowPaging="True" PageSize="10">
<Columns>
<asp:TemplateField HeaderText="Title">
<ItemTemplate>
<asp:LinkButton ID="lnkTitle" runat="server" Text='<%# Eval("Title") %>' OnClick="lnkTitle_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" />
<asp:BoundField DataField="Location" HeaderText="Location" SortExpression="Location" />
<asp:BoundField DataField="StartDateTime" HeaderText="Start Date & Time" SortExpression="StartDateTime" />
<asp:BoundField DataField="EndDateTime" HeaderText="End Date & Time" SortExpression="EndDateTime" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:PM_RegistrationSysDBConnectionString %>"
SelectCommand="SELECT ID, Title, Description, Location, StartDateTime, EndDateTime
FROM dbo.Events
WHERE (IsActive = 1)
ORDER BY ID DESC"></asp:SqlDataSource>