我有一個表,它填充名爲DropDownList_Tracking_Status的下拉列表。該表有3列; ID,TrackingName和Active。當我填充下拉列表時,我將每個記錄的Active =「Y」拉出來。具有不存在的SelectedValue的DropDownList
當我將數據讀入表單時,我試圖爲DropDownList_Tracking_Status預先選擇適當的值。如果當前狀態爲空(尚未選擇一個),則將其設置爲2.否則,我將其設置爲等於先前選擇的任何值。我遇到的問題是,如果當前的跟蹤狀態是一個自從被標記爲非活動狀態(Active設置爲「N」)的狀態,則會引發錯誤。很明顯,因爲它不能預先選擇下拉列表中不存在的值。
關於如何解決這個問題的任何想法?我當前的代碼塊看起來是這樣的:
if ((DT["TrackingStatus"].ToString() == ""))
{
DropDownList_Tracking_Status.SelectedValue = "2";
}
else
{
DropDownList_Tracking_Status.SelectedValue = (DT["TrackingStatus"].ToString());
}
編輯 我只是要補充一點填充下拉列表的表是包含Active視野中的一個。稱爲DT的SqlDataReader在其中沒有該字段。我想我可以創建一個查詢來加入這兩個並檢查Active的值,但我希望有一個更簡單的方法。東西說,(在僞代碼):
If DropDownList_Tracking_Status.SelectedValue = (DT["TrackingStatus"].ToString()); throws you an error, do this instead...
'DT'是一個'DataRow'?拋出什麼錯誤? –
如果你的桌子只有2排?那麼它會拋出錯誤。 –
爲什麼不在邏輯之前檢查當前的跟蹤狀態,如果它不存在於dropDown中,但需要添加它? – Srb1313711