[英]First item in Databound CheckBoxList not showing up
假設我有一個名為“ Facility”的SQL表,看起來像這樣:
|| FacilityID || Name ||
0 Lecture Theatre
1 Seminar Room
2 Computer Lab
3 Electronics Lab
... ...
並繼續適用於30多種不同的房間設施。 我正在嘗試將這些數據綁定到ASP.NET(C#)中的CheckBoxList中,如下所示:
<asp:CheckBoxList ID="FacilityCheckList" AutoPostBack="true" runat="server">
</asp:CheckBoxList>
我用來在C#中實現此目標的代碼如下所示:
String strSQL;
strSQL = "SELECT * FROM Facility";
SqlCommand cmd3 = new SqlCommand(strSQL, DBConnection);
DBConnection.Open();
SqlDataReader FacilityData;
FacilityData = cmd3.ExecuteReader();
FacilityData.Read();
FacilityCheckList.DataSource = FacilityData;
FacilityCheckList.DataValueField = "Name";
FacilityCheckList.DataBind();
DBConnection.Close();
現在,除了一件事情外,它絕對可以正常工作:它不會為列表中的第一個項目“演講廳”顯示一個CheckBox。 列表中的其他所有設施都可以使用CheckBox出現,但Lecture Theater卻不行-我也不知道為什么!
當我自己運行查詢時,在SQL端cos上這不是問題,它返回完整列表。 而且我不認為它特定於CheckBoxList,因為當我嘗試綁定到DropDownList時,遇到了同樣的問題。 我很困惑為什么要這樣做,所以任何見解將不勝感激!
干杯
刪除行:
FacilityData.Read();
這導致讀者前進一個檔次,使您丟失第一項
不要在SqlReader
上調用Read()
。 只需在調用ExecuteReader()
之后將其分配為CheckBoxList的數據源即可。 當您將其設置為數據源時,它將通過調用Read()開始,因此在您的情況下,第一條記錄將被跳過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.