【问题标题】:How to show current value in dropdownlist while editing the row编辑行时如何在下拉列表中显示当前值
【发布时间】:2013-01-08 06:39:23
【问题描述】:

我的页面上有一个下拉列表。当我尝试在其上编辑某些行时,下拉列表中的值设置为其默认值。

我希望下拉列表显示正在编辑的行的当前值。

【问题讨论】:

  • 你说的是可编辑的下拉列表吗?
  • 没有。我有一行包含编辑选项。当我点击编辑时,会出现一个下拉列表,我必须从中选择一个值。所以当我点击编辑时,它总是显示默认值而不是当前值。

标签: c# asp.net html-select


【解决方案1】:

我猜下拉列表位于模板列中...因此在每次回发时,您都必须设置其选定值。 不在 if(!isPostback)所有回发中。

【讨论】:

    【解决方案2】:
    DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByText("dd"));
    

    代替dd。可以传递当前行的Text。

    你可以这样使用。

    ddl.SelectedIndex=ddl.Items.IndexOf(DropDownList1.Items.FindByText("dd"));
    

    代替 dd 你可以传递你的行文本。希望您愿意执行此操作。

    如果你想显示ABC,你可以试试下面的代码

    作为文本框或您正在使用的任何控件,我假设您已经使用过文本框

    Textbox t1=(Textbox)Griview1.Rows[e.RowIndex].FindControl("Your control ID") as TextBox 
    

    然后

    ddl.SelectedIndex = ddl.Items.IndexOf(DropDownList1.Items.FindByText(t1.ToString()));
    

    【讨论】:

    • protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { DropDownList ddl = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlBU_ID"); e.NewValues["BU_Id"] = ddl.SelectedValue;这是我在我的 aspx.cs 文件中的代码。你能告诉我我应该用你的替换它吗?
    • 你想做什么?你可以说得更详细点吗。正如我所看到的代码,它是gridview和所有..
    • 好的..我有一个帐户页面。我向实体 datasource1 添加了一个命令字段(编辑、更新、取消),表名为 Account_Master。现在,如果我单击编辑,我将能够更新该特定行。因此,该行中的一列是一个下拉列表,它的数据源是 entitydatasource 2,它来自另一个名为 BU_Master 的表。现在的问题是,当我单击编辑时,下拉列表显示默认值(例如:如果行的当前值是 ABC,当我单击编辑其显示 XYZ 时,所有行都会发生这种情况。我不希望这种情况发生跨度>
    • 我在表中有 5 条记录(ABC、DEf、GHI、JKL、XYZ)。现在在下拉列表中我可以看到所有这些。但是当我编辑其中的任何一条记录时网页,即如果我编辑 GHI 或 DEF 或 JKl 或 XYZ,它不会显示该特定值,而是显示 ABC。 (例如:如果我编辑 DEF 它应该在下拉列表中显示 DEF 值。如果我编辑 JKL 它应该显示 JKL)但是无论我编辑它显示 ABC
    • 你可以试试上面的代码..逻辑是..只需获取文本框的文本(你必须使用文本框进行编辑)然后将该文本传递到下拉列表中。可以看到上面的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 2015-08-23
    • 2015-09-16
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    相关资源
    最近更新 更多