0

我希望根据我的表格行中显示的内容设置下拉列表的默认值。我已经写了下面的 switch 语句,但似乎没有完成这项工作。谁能帮忙?

bool viewNull = this._Row.Isxcs_ViewNull();
if (!viewNull)
{
    switch (this._Row.xcs_View.ToUpper())
    {
        case "RC": this.drpdwnChaseSecSelection.SelectedValue = "Renewals Chasing"; break;
        case "D_RL": this.drpdwnChaseSecSelection.SelectedValue = "Deal - Lettings"; break;
        case "NULL": this.drpdwnChaseSecSelection.SelectedValue = "None"; break;
    }
}
else
{
    drpdwnChaseSecSelection.SelectedValue = "None";
}
4

3 回答 3

2

您是否对下拉列表进行数据绑定?类似于以下内容:

drpdwnChaseSecSelection.DataSource = GetListItems(); // <-- Get your data from somewhere.
drpdwnChaseSecSelection.DataValueField = "ValueProperty";
drpdwnChaseSecSelection.DataTextField = "TextProperty";

drpdwnChaseSecSelection.DataBind();

bool viewNull = this._Row.Isxcs_ViewNull();
if (!viewNull)
{
    switch (this._Row.xcs_View.ToUpper())
    {
        case "RC": drpdwnChaseSecSelection.SelectedIndex=drpdwnChaseSecSelection.Items.IndexOf(drpdwnChaseSecSelection.Items.FindByText("Renewals Chasing")); break;
        case "D_RL":drpdwnChaseSecSelection.SelectedIndex=drpdwnChaseSecSelection.Items.IndexOf(drpdwnChaseSecSelection.Items.FindByText("Deal - Lettings")); break;
        case default: drpdwnChaseSecSelection.SelectedIndex=drpdwnChaseSecSelection.Items.IndexOf(drpdwnChaseSecSelection.Items.FindByText("None")); break;
    }
}
else
{
    drpdwnChaseSecSelection.SelectedIndex=drpdwnChaseSecSelection.Items.IndexOf(drpdwnChaseSecSelection.Items.FindByText("None"));
}
于 2012-10-25T08:49:07.737 回答
0

如果这些只是字符串值,您可以使用 SelectedItem。

如果这些是基于数据绑定的项目,您应该将下拉列表中的 ValueMember 连接到对象上的正确值,然后您可以使用 SelectedValue。

于 2012-10-25T12:26:05.547 回答
0

如果我错了,请纠正我,但似乎您在编译时就知道这些条目。如果是这种情况,只需使用 SelectedIndex 作为 'tranceporter' 在他的回答中建议但不进行搜索 (drpdwnChaseSecSelection.Items.IndexOf(drpdwnChaseSecSelection.Items.FindByText("Renewals Chasing"));)

这会给你更好的表现。

于 2012-10-25T09:18:02.347 回答