0

ネストされたリピーターが 2 つあり、repeater1 内で repeater2 databind を呼び出す必要があります。なんで?さて、私はrepeater2のいくつかの行を繰り返す必要があります. しかし、私はこれを試してみて、repeater2 は 1 回しか動作せず、4 回動作するはずです。助けてください!

Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Repeater1.ItemDataBound を処理します

    For i = 0 To 4
        con.Open()
        Dim consulta As String = "SELECT DISTINCT Ordenes.Orden, Ordenes.Id, Ordenes.Codigo, Ordenes.Descripcion, Ordenes.Cantidad, Ordenes.PrecioVenta, " & _
        "Ordenes.FechaCreacion, Inventario.CostoUnitario, Inventario.Marca, Inventario.Garantia, Inventario.Modelo, Inventario.Color, Inventario.Serial, " & _
        "Inventario.CodigoFabricante, Clientes.Nombres, Clientes.Apellidos, Inv_Imagenes.Enlace FROM Ordenes INNER JOIN Inventario ON Ordenes.Codigo = " & _
        "Inventario.Codigo INNER JOIN Clientes ON Ordenes.IdCliente = Clientes.IdCliente INNER JOIN Inv_Imagenes ON Ordenes.Codigo = Inv_Imagenes.Item WHERE " & _
        "(Ordenes.id = @idt) AND (Inv_Imagenes.Tipo = 'img') AND (Inv_Imagenes.Orden = 1)"

        cmd = New SqlCommand(consulta, con)
        cmd.Parameters.AddWithValue("@idt", e.Item.DataItem("id").ToString)
        dr = cmd.ExecuteReader
        Dim Repeater2 As Repeater = e.Item.FindControl("Repeater2")
        Repeater2.DataSource = dr
        Repeater2.DataBind()
        dr.Close()
        con.Close()
    Next

End Sub

たとえば、誰かが 4 台の電話を 1 台注文した場合、4 行をレンダリングして、全員の電話の Imei を 1 つずつ入力し、他のテーブルに挿入する必要があります。

4

1 に答える 1

0

e.Item.ItemIndex でテストできます

If (e.Item.ItemType = ListItemType.Item) Or _
            (e.Item.ItemType = ListItemType.AlternatingItem) Then

            //Treat with e.Item.ItemIndex


 End If
于 2012-08-28T19:40:29.320 に答える