我有这个代码,我已经尝试调试,没有其他问题,但只有一件我不知道的是如何从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
它只读了第一行我知道它显而易见但我需要帮助。我想知道用
代替什么谢谢
答案 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