0

我有这段代码,我已经尝试调试,没有其他问题,但我不知道的只有一件事是如何从我从 Sql 查询结果中获得的 Gridview“aT”中读取下一行

  For Each aR As DataRow In aT.Rows
        Dim AltRow As DataRow = AltTbl.NewRow
        AltRow.Item(0) = aR.Item("OXLINC")
        AltRow.Item(1) = aR.Item("OXPART")
        AltRow.Item(2) = FormatCurrency(aR.Item("OXLSTP"))
        AltRow.Item(3) = FormatCurrency(aR.Item("OXCOST"))
        AltRow.Item("QtyRA") = QtyR
        AltRow.Item(5) = aR.Item("OXQTYA")
        AltRow.Item(8) = r.RowIndex
        AltRow.Item(9) = MFG
        AltTbl.Rows.Add(AltRow)
    Next

    If AltTbl.Rows.Count > 0 Then
        GridView10.DataSource = AltTbl
        GridView10.DataBind()
        GridView10.Visible = True
        GridView7.Visible = False
    End If

    For Each gR As GridViewRow In GridView10.Rows
        Dim sR As DataRow = aT.Rows(0)  //Dont know what to do here
        Dim WhseTbl As New DataTable
        WhseTbl.Columns.Add("WhseID")
        WhseTbl.Columns.Add("Qty")
        For i = 1 To 10
            If RTrim(sR.Item("OXBR" & i)) <> "" Then
                Dim wR As DataRow = WhseTbl.NewRow
                wR.Item(0) = sR.Item("OXBR" & i)
                wR.Item(1) = sR.Item("OXAV" & i)
                WhseTbl.Rows.Add(wR)
                gR.BackColor = Drawing.Color.Yellow
            End If
        Next
        If WhseTbl.Rows.Count > 0 Then
            Dim whseG As GridView = gR.FindControl("WhGrid")
            whseG.DataSource = WhseTbl
            whseG.DataBind()
        Else
            gR.Cells(6).Text = "Not Available"
        End If
        If sR.Item("OXQTYA") >= 1 Then
            gR.BorderColor = Drawing.Color.GreenYellow
        End If
    Next

它只读取第一行我知道它很明显,但我需要帮助。我想知道我可以用什么代替它

谢谢

4

1 回答 1

0

为什么不对DataSource每个 GridView 控件使用相同的控件,然后处理RowDataBound第二个 GridView 控件的事件,以根据业务规则(即QXQTYA大于 1 )?

你可以处理RowDataBound通过执行以下操作来处理事件:

标记:

<asp:gridview id="GridViewB" 
    onrowdatabound="GridViewB_RowDataBound" 
    runat="server">
</asp:gridview>

代码隐藏:

Sub CustomersGridView_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        ' Do custom logic here per column
    End If
End Sub
于 2013-07-16T17:30:03.743 回答