根據以下屏幕截圖,我們使用dataList在頁面上顯示多條記錄。任何想法如何讓我的查詢正確顯示記錄?
它目前的工作方式是用戶從下拉列表中選擇一個位置,並顯示與該位置關聯的記錄。
記錄包括課程,講師,日期,容量按位置選擇和剩餘選址。
然後在每一行,有一個說:「登記參加此培訓」
用戶點擊此鏈接,該課程爲位置寄存器的鏈接。
這會在db上存儲正確的記錄並顯示剩餘的座標。
讓我們假設有45個容量座位爲特定的位置的特定課程。
如果用戶註冊,則44將顯示爲剩餘的要註冊的座位。
我目前遇到的問題是,在顯示頁面上,remainingSeating的值對於所有課程都是相同的。
我們希望每個課程都顯示相同的capacitySeating但不同的remainingSeatings根據該課程註冊的人數。
希望我的解釋清楚。
下面是我目前使用的代碼:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:DBConnectionString %>"
SelectCommand="select l.LocationId,c.courseId, c.coursename,tm.trainingMode,Isnull(t.availableSeats,30) availableSeats,d.dateid,d.trainingDates, d.trainingtime, c.CourseDescription,i.instructorName, l.location,l.seating_capacity
from tblLocations l
left join tblTrainings t on l.locationId = t.LocationId
Inner Join tblCourses c on l.locationId = c.locationId
Inner Join tblTrainingDates d on c.dateid=d.dateid
Inner Join tblTrainingMode tm on c.trainingModeId = tm.trainingModeId
Inner Join tblCourseInstructor ic on c.courseId = ic.CourseId
Inner Join tblInstructors i on ic.instructorId = i.instructorId"
FilterExpression="LocationId = '{0}'" >
<FilterParameters>
<asp:ControlParameter ControlID="ddlLocation" Name="LocationId"
PropertyName="SelectedValue" Type="Int32" />
</FilterParameters>
</asp:SqlDataSource>
最後,下面是screenshop。如你所見,一旦你爲一行更新remainingSeat,其餘的行顯示相同的值。這不是我們想要的。
我相信問題是與查詢。
![在這裏輸入的形象描述] [1]
這樣做! Thanks @IvanH – Kenny