0

我第一次遇到这种问题

我正在从数据集加载页面时设置下拉列表的值但这是自动设置 0 索引.....我的代码:

ddlEbitda.SelectedValue = objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();

我在即时窗口检查...

objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();

“40-60 % 之间”(来自数据集的值是正确的)

ddlEbitda.SelectedValue
"Up to 10 Million Dollar "           ( this is default value setting )

我尝试了许多不同的代码来解决这个问题:

    ddlEbitda.ClearSelection();
    string Ebitda = objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
    ddlEbitda.Items.FindByValue(Ebitda).Selected = true;


    string Ebitda = objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
    ddlEbitda.SelectedIndex = ddlEbitda.Items.IndexOf(ddlEbitda.Items.FindByValue(Ebitda));

但仍然无法解决这个问题......事实是我无法理解什么是问题......

4

3 回答 3

0

确保在 Page_Load 方法中的此代码块内填充/绑定 DropDownList

    If (!IsPostBack)
    {
    }

并在设置所选项目后立即。

    ddlEbitda.SelectedValue
于 2013-05-18T13:44:17.013 回答
0

确保您的下拉列表是否正确绑定到数据集并填充数据。特别要确保您分配的值在项目列表中。您可以在 VS 中使用快速查看轻松检查,以便确保您分配的值在下拉项目中。因为你的做法还可以

于 2013-05-21T06:06:04.000 回答
0

这应该工作

string value=objDataset.Tables[0].Rows[0]["acq_ebitda"].ToString();
ddlEbitda.Items.FindByValue(value).Selected = true;

但是请确保当您将下拉列表与 DataSource 绑定时,那时acq_ebitda应该是DataValueField.

如果是,DataTextField那么你应该尝试这样的事情

ddlEbitda.Items.FindByText(value).Selected = true;
于 2013-05-18T13:32:27.267 回答