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

間違っている場合は訂正してください。ただし、コンパイル時にエントリを知っているようです。その場合は、「tranceporter」が彼の回答で示唆しているように SelectedIndex を使用しますが、検索は使用しません (drpdwnChaseSecSelection.Items.IndexOf(drpdwnChaseSecSelection.Items.FindByText("Renewals Chasing"));)

これにより、パフォーマンスが向上します。

于 2012-10-25T09:18:02.347 に答える
0

これらが単なる文字列値である場合は、SelectedItem を使用できます。

これらがデータ バインディングに基づく項目である場合は、ドロップダウン リストの ValueMember をオブジェクトの正しい値に接続する必要があります。その後、SelectedValue を使用できます。

于 2012-10-25T12:26:05.547 に答える