我有一个表,它填充名为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