【问题标题】:reset ddl in gridview在gridview中重置ddl
【发布时间】:2014-08-12 19:14:17
【问题描述】:

我在 gridview 中得到了一个 ddl,它有两个值:0 = no 和 1 = yes。我在 dll SelectedIndexChanged 上也有一个事件,所以当用户选择 1 时,它会显示一个带有表单的面板。该表单有两个按钮:提交和取消。

我想做的是当用户选择取消时,将 gridview 中的 ddl 重置为 0。

我在取消按钮上有一个事件,可以使用表单隐藏面板,但我不确定如何找到触发事件以显示面板的 ddl。我需要使用行数据键,例如 id 吗?

【问题讨论】:

  • 当 ddl 选择为 yes 时,您可以将隐藏输入字段的值设置为触发它的 ddl 的 ID。然后取消按钮会通过查看隐藏的值来知道。
  • 好的,所以我得到了行 ID 的值并将其放入隐藏字段中。现在我知道了如何在 gridview 中找到该行的 ddl 并将 ddl 值重置为 0?
  • 您需要使用 javascript 或 jquery 将 ddl 值设置回 0。我刚刚阅读了您的评论,我说将下拉列表的 ID 放在隐藏字段中,而不是行 id .
  • 哦 - 我如何获得 ddl 的 id?

标签: asp.net vb.net gridview


【解决方案1】:

当您的 SelectedIndexChanged 事件发生时,记下行索引 - 其中存在 DropDownList - 例如将行索引保存在隐藏字段中。然后当单击取消按钮时,使用该隐藏字段,提取行索引,在该行中的GridView 中找到DropDownList 并重置它。

提示:使用Control.Parent查找控件的宿主,例如CType(mydropdown1.Parent, GridViewRow).RowIndex

但是通过 JavaScript 完成所有这些会更好,这样您的用户不会在每次点击时体验到服务器往返,但显然需要很好地掌握 JavaScript。

【讨论】:

  • 是的 - 嘿,我该怎么用 javascript 来做呢?
  • 我建议,你应该首先按照你目前正在做的方式(即没有 JavaScript)。成功完成此操作后,请尝试使用 JavaScript,如果遇到任何问题,请再次将具体问题发布在其他问题中
  • 我得到了行索引,有点知道你在暗示什么,但不太确定。
  • 使用 Protected Sub btnEPCancel_Click(sender As Object, e As EventArgs) 处理 btnEPCancel.Click Dim rowIndex As String = hfRowID.Value Dim row As GridViewRow = DirectCast(gvLineItems.Rows(rowIndex), GridViewRow ) Dim ddl As DropDownList = DirectCast(row.FindControl("ddlPed"), DropDownList) ddl.SelectedValue = "0" pnlEPed.Visible = False End Sub
猜你喜欢
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 2020-05-24
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多