0

我有 gridview,其中有复选框控件,就像这张图片。

在此处输入图像描述

问题是我想使用检查状态的值。如果状态被检查,那么我想将值分配给这样的字符串867,864。我在这里尝试了一些代码,但它不能正常工作

For Each gvrow As GridViewRow In GridView5.Rows
            Dim chkbox As CheckBox = CType(gvrow.FindControl("chkStatusGM"), CheckBox)
            If chkbox.Checked Then
                Dim bpv As String = GridView5.Rows(0).Cells(3).Text
                Response.Write(bpv)
End If
        Next

但输出867867不是867,864我想要的。请任何人帮助获得所需的输出

4

2 回答 2

0
Dim bpv As String = ""

For Each gvrow As GridViewRow In GridView5.Rows
    Dim chkbox As CheckBox = (CheckBox)gvrow.FindControl("chkStatusGM"); 
    If chkbox!= null && chkbox.Checked Then
        If bpv <> "" Then
            bpv += ","
        End If
        bpv += gvrow.Cells(3).Text
    End If
 Next
 Response.Write(bpv)
于 2012-11-03T05:26:29.357 回答
0

很抱歉用 C# 给你答案,因为我对 VB 不熟悉,你可以使用在线转换器将代码转换为 VB

我发现的错误是您应该使用索引和增量,以便检测下一个选中的复选框,如下所示:

int j = 0;
foreach (GridViewRow gvRow in GridView1.Rows)
{
    CheckBox chkSel = (CheckBox)gvRow.FindControl("SelectCheck");
    if (chkSel.Checked)
    {
        string Delete = Convert.ToString(GridView1.Rows[j].Cells[3].Text);
        //Cells[3] is the column to get one by one rows ceslls[3] columns
        Bal_add.Delete(Delete);
    }
    j++;
}

例如在这种情况下j是索引并增加它。

希望这会有所帮助:D

于 2012-11-03T05:43:32.117 回答