C#设置下拉列表的显示值

C#设置下拉列表的显示值,c#,winforms,drop-down-menu,switch-statement,C#,Winforms,Drop Down Menu,Switch Statement,我希望根据表格行中显示的内容设置下拉列表的默认值。我已经在下面写了switch语句,但似乎没有做到这一点。有人能帮忙吗 bool viewNull = this._Row.Isxcs_ViewNull(); if (!viewNull) { switch (this._Row.xcs_View.ToUpper()) { case "RC": this.drpdwnChaseSecSelection.SelectedValue = "Renewals Chasing

我希望根据表格行中显示的内容设置下拉列表的默认值。我已经在下面写了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";
}

您正在数据绑定dropdownList吗?关于以下内容:

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"));
}

drpdwnChaseSecSelection.DataSource=GetListItems();// 如果我错了,请纠正我,但您似乎在编译时就知道这些条目。如果是这种情况,只需使用“tranceporter”在其答案中建议的SelectedIndex,但不使用搜索(drpdwnChaseSecSelection.Items.IndexOf(drpdwnChaseSecSelection.Items.FindByText(“续订跟踪”);)


这将为您提供更好的性能。

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


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

您要调用它的是什么事件?您能否将代码示例再扩展一点以显示一些上下文。您的xcs\U视图变量是否真的只有三个选项?你用调试器调试过代码了吗?这是什么值?_Row.xcs_View在调试时有什么值?@WouterdeKort我已经完成了代码,当数据库值为null时,。。它跳转到else部分,但它只是没有将下拉列表中的None值作为默认值尝试添加一个案例默认值:this.drpdwnChaseSecSelection.SelectedValue=“None”;打破并删除“空”案例