0

この画像のように、チェックボックスコントロールがあるグリッドビューがあります。

ここに画像の説明を入力

問題は、チェックされたステータスの値を使用したいということです。つまり、ステータスがチェックされている場合、このような文字列に値を割り当てたいと思います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

私はVBに慣れていないので、C#で答えて申し訳ありません.オンラインコンバーターを使用してコードを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 に答える
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 に答える