Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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# 嵌套网格视图问题_C#_Asp.net_Gridview - Fatal编程技术网

C# 嵌套网格视图问题

C# 嵌套网格视图问题,c#,asp.net,gridview,C#,Asp.net,Gridview,我试图将一个gridview嵌套在另一个gridview中,但无法在第二个grid view中填充数据。我在尝试设置第二个数据网格的数据源时出错(表示为空)。有人能帮忙吗? 以下是aspx页面: <div id="divSource" runat="server" align="center"> <asp:GridView ID="Source" runat="server" AutoGenerateColumns="False" DataKeyNames="sourceLin

我试图将一个gridview嵌套在另一个gridview中,但无法在第二个grid view中填充数据。我在尝试设置第二个数据网格的数据源时出错(表示为空)。有人能帮忙吗? 以下是aspx页面:

<div id="divSource" runat="server" align="center">
<asp:GridView ID="Source" runat="server" AutoGenerateColumns="False" DataKeyNames="sourceLineItem"  CSSClass="viewSourceGrid" OnRowDataBound="PopulateDateCodes">
    <Columns>
        <asp:TemplateField InsertVisible="False" HeaderStyle-Width="70px">
            <ItemTemplate>
                <asp:Label CssClass="sourceHeader" runat="server" Text= '<%# "Source: " + (Container.DataItemIndex + 1).ToString() %>'> </asp:Label>
            </ItemTemplate>
        </asp:TemplateField> 
        <asp:BoundField DataField="nfdBroker" HeaderText="NFD/Broker" InsertVisible="False" ReadOnly="True" SortExpression="nfdBroker" />
        <asp:BoundField DataField="locationDescription" HeaderText="Material Location" SortExpression="materialLocation" />
        <asp:BoundField DataField="origPkg" HeaderText="Original Packaging?" SortExpression="origPkg" />
        <asp:BoundField DataField="oemCC" HeaderText="OEM C of C? " InsertVisible="False" ReadOnly="True" SortExpression="oemCC" />
        <asp:BoundField DataField="minBuyQty" HeaderText="Minimum Buy Qty" SortExpression="minBuyQty" />
        <asp:BoundField DataField="deliveryInfo" HeaderText="Delivery" SortExpression="delUOM" />

        <asp:TemplateField InsertVisible="False" HeaderText="Date Codes" >
            <ItemTemplate>               
                <asp:GridView ID="DateCodeGrid" runat="server" InsertVisible="False" DataKeyNames="dateCode"  CSSClass="viewSourceGrid" >
                    <Columns>
                        <asp:BoundField DataField="dateCode" SortExpression="dateCode">
                            <ItemStyle Width="20%" />
                        </asp:BoundField>
                    </Columns>
                </asp:GridView>
            </ItemTemplate>
        </asp:TemplateField>

    </Columns>
</asp:GridView>

您需要在要进行数据绑定的行中找到嵌套网格视图:

GridViewRow row = e.Row;
您需要确保仅对数据行执行此操作,而不是对页眉或页脚行执行此操作:

if(row.RowType == DataControlRowType.DataRow)
{
  // Find the nested grid view
  GridView nested = (GridView)row.FindControl("DateCodeGrid");

  // The rest of your code for binding the nested grid view follows here
}

您需要在要进行数据绑定的行中找到嵌套网格视图:

GridViewRow row = e.Row;
您需要确保仅对数据行执行此操作,而不是对页眉或页脚行执行此操作:

if(row.RowType == DataControlRowType.DataRow)
{
  // Find the nested grid view
  GridView nested = (GridView)row.FindControl("DateCodeGrid");

  // The rest of your code for binding the nested grid view follows here
}

您能给我们看一下
db.GetDateCodes
的代码吗?我怀疑您没有在嵌套数据中链接。此外,您的GV人口代码很奇怪。看起来您没有填充gridview,而是只填充第一行中的第一个嵌套gridview?需要首先对外部gridview进行数据绑定。您能否向我们展示
db.GetDateCodes
的代码?我怀疑您没有在嵌套数据中链接。此外,您的GV人口代码很奇怪。看起来您没有填充gridview,而是只填充第一行中的第一个嵌套gridview?需要首先对外部gridview进行数据绑定。