Asp.net 获取数组列表中的gridview列值
我有gridview,在其中我有复选框控件,如下图所示 问题是我想使用checked status的值。也就是说,如果status为checked,那么我想将这些值分配给这样的字符串Asp.net 获取数组列表中的gridview列值,asp.net,vb.net,gridview,checkbox,Asp.net,Vb.net,Gridview,Checkbox,我有gridview,在其中我有复选框控件,如下图所示 问题是我想使用checked status的值。也就是说,如果status为checked,那么我想将这些值分配给这样的字符串867864。我在这里尝试了一些代码,但它不能正常工作 For Each gvrow As GridViewRow In GridView5.Rows Dim chkbox As CheckBox = CType(gvrow.FindControl("chkStatusGM"), Check
867864
。我在这里尝试了一些代码,但它不能正常工作
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
而不是我想要的867864
。请任何人帮助获得所需的输出Dim bpv As String=“”
对于GridView5.Rows中作为GridViewRow的每个gvrow
Dim chkbox As CheckBox=(CheckBox)gvrow.FindControl(“chkStatusGM”);
如果chkbox!=null&&chkbox。然后选中
如果bpv为“”,则
bpv+=“,”
如果结束
bpv+=gvrow.Cells(3).Text
如果结束
下一个
响应写入(bpv)
很抱歉用C语言回答您,因为我对VB不熟悉,您可以使用在线转换器将代码转换为VB
我发现的错误是,您应该使用索引和增量来检测下一个复选框,如下所示:
例如,在本例中,j
是索引,并将其递增
希望这有帮助:DSir现在的输出是
867867
,但我想867864
根据复选框的选择。我想你是根据复选框的选择来固定单元格3的列表行的值,而不是动态地,因为我选择了BPV 863
,但它再次返回了868868
,现在我从“bpv+=GridView5(0).Cells(3).Text”到“bpv+=gvrow.Cells(3).Text”。现在我运行良好,因为首先我发现代码内部没有修复行(0)…现在我修复并解决了它
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++;
}