Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 循环抛出gridview1行以在其他gridview2中添加内容_C#_Html_Vb.net_Visual Studio 2010 - Fatal编程技术网

C# 循环抛出gridview1行以在其他gridview2中添加内容

C# 循环抛出gridview1行以在其他gridview2中添加内容,c#,html,vb.net,visual-studio-2010,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") AltR

我有这段代码,我已经试过调试了,没有其他问题,但我唯一不知道的是如何从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
针对aT.行中的每个aR作为数据行
Dim AltRow As DataRow=AltTbl.NewRow
AltRow.项目(0)=应收账款(“OXLINC”)
AltRow.项目(1)=应收项目(“OXPART”)
AltRow.项目(2)=格式货币(应收账款项目(“OXLSTP”))
AltRow.项目(3)=格式货币(应收项目(“OXCOST”))
AltRow.项目(“QtyRA”)=QtyR
AltRow.项目(5)=应收账款项目(“OXQTYA”)
AltRow.项目(8)=r.行索引
备降行项目(9)=制造
AltTbl.Rows.Add(AltRow)
下一个
如果AltTbl.Rows.Count>0,则
GridView10.DataSource=AltTbl
GridView10.DataBind()
GridView10.Visible=True
GridView7.Visible=False
如果结束
对于GridView10.Rows中作为GridViewRow的每个gR
Dim sR As DataRow=aT.Rows(0)//不知道在这里做什么
Dim WhseTbl作为新数据表
WhseTbl.列。添加(“WhseID”)
WHETBL.列添加(“数量”)
对于i=1到10
如果RTrim(sR.Item(“OXBR”&i))“”则
尺寸wR作为数据行=WhseTbl.NewRow
wR.项目(0)=sR.项目(“OXBR”和i)
wR.项目(1)=高级项目(“OXAV”和i)
WhseTbl.行添加(wR)
gR.BackColor=Drawing.Color.黄
如果结束
下一个
如果WhseTbl.Rows.Count>0,则
Dim whseG As GridView=gR.FindControl(“WhGrid”)
whseG.DataSource=WhseTbl
whseG.DataBind()
其他的
gR.Cells(6).Text=“不可用”
如果结束
如果sR.Item(“OXQTYA”)>=1,则
gR.BorderColor=Drawing.Color.GreenYellow
如果结束
下一个
它只读第一行,我知道这很明显,但我需要帮助。我想知道我能用什么来代替它


谢谢

为什么不为每个GridView控件使用相同的
数据源
,然后为第二个GridView控件处理
RowDataBound
事件,以便根据业务规则(即
qxqqtya
大于1)为每个列执行所需的任何格式设置(颜色、自定义文本等)

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

标记:

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

是的,这是个好主意我应该试试。。谢谢但我只想一行一行地读,在父gridview行的单元格中添加一个新的gridview。我也发现了另一种方法,我只是将索引
Dim ind初始化为Integer=0
,然后只添加更多的行孔
next
ind=ind+1,这是我唯一想做的方法,但我仍然确定应该有另一种方法来做到这一点。更好的方法
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