循环遍历gridview行以在其他gridview 2中添加内容

时间:2013-07-16 16:10:02

标签: c# html vb.net visual-studio-2010

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

  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

它只读了第一行我知道它显而易见但我需要帮助。我想知道用

代替什么

谢谢

1 个答案:

答案 0 :(得分:0)

为什么不为每个GridView控件使用相同的DataSource,然后为第二个GridView控件处理RowDataBound事件,以执行您需要的任何格式设置(颜色,自定义文本等)每列,基于业务规则(即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