【问题标题】:Pull a value from a column when a checkbox (in another column) is check选中复选框(在另一列中)时从列中提取值
【发布时间】:2017-10-11 01:47:16
【问题描述】:

这里的中级程序员使用 Visual Studio 2010 并在 VB 而不是 C# 中完成所有工作。

有一个 15 列的 GridView1。自动选择占用 [0] 列。列 [1] 的 JobNumber 值对于每一行都不同。列 [14] 有一个模板字段,每行有一个 CheckBox1。

如果选中列 [14],我需要从列 [1] 中获取值。我可以使用此代码获取复选框的出现:

For Each row As GridViewRow In GridView1.Rows
    Dim result As Boolean = DirectCast(row.FindControl("CheckBox1"), CheckBox).Checked
Next

此代码确实可以找到哪一行有一个复选框。我还没有找到答案的问题是,当代码运行并找到行时,我如何获得在 Column [1} 中显示的每个发现有复选框的行的值?

它可能在我的这个问题之前得到了回答,但我的术语可能有误,我只是问错了问题。

谢谢大家!

【问题讨论】:

  • 使用你建议的代码,我重写了这个 For Each row As GridViewRow In GridView1.Rows Dim myLIst As New List(Of String) '找到检查的行 Dim result As Boolean = DirectCast (row.FindControl("CheckBox_Assign"), CheckBox).Checked '如果一行有复选框,则获取[1]单元格的值 If result = True Then myLIst.Add(row.Cells(1).Text) End If '看看你有没有什么 Response.Write(myLIst) Next

标签: vb.net checkbox


【解决方案1】:

尽可能少地篡改您的代码,这可行吗?

    Dim myList As New List(Of String)
    For Each row As GridViewRow In GridView1.Rows
        Dim result As Boolean = DirectCast(row.FindControl("CheckBox1"), CheckBox).Checked
        If result Then myList.Add(row.Cells(1).Text)
    Next
    'myList will now contain desired values

【讨论】:

  • 当我 Response.Write(myLIst) 查看代码提取的内容时,我会为每个选中的复选框得到这个... System.Collections.Generic.List`1[System.String]。我从来没有使用过 myList 并且不确定我现在是否正确使用它。是否有进一步帮助将单元格 [1] 值拉到选中其带有复选框的列的行上?谢谢
  • 好的,第 [1] 列中的控件名称是什么?
  • 我们制造面板成型机。每台机器都有一个工作编号(ID 编号),格式类似于 [26650.000]。 GridView1 在单元格[1] 中显示所有尚未配备这些作业编号(每行一个)的机器。信息来自名为 [JobMast] 的 SQL 数据库表和名为 [JobNum] 的列。它不是一个巨大的显示器,在 GridView1 中一次列出了 40 到 100 台机器。选中所需的复选框后,我使用按钮单击以使用我刚刚收集的作业编号开始另一个表的更新过程。希望能解释你的要求。谢谢大家的帮助。
  • 想通了。使用您的初始代码作为指导,我做了一个 [Dim JNRetrived As String],然后使用 [JNRetrieved = Trim(row.Cells(1).Text)]。将值从单元格中取出,然后我就开始跑步了。似乎最简单的任务是最难弄清楚的,因为它们很容易。非常感谢您的帮助。
  • 很高兴你做到了 :-)
猜你喜欢
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-15
  • 2021-12-23
  • 1970-01-01
相关资源
最近更新 更多