Вложенный столбец (шаблонная сетка) дублируется в главном gridview
Привет,
Я использую вложенную сетку, которая имеет шаблонный столбец сетки.
- Я упоминаю "AutoGeneratedColumn" как ложь.
- Я тщательно проверил, нигде _RowDataBound не вызывается дважды.
- Ни один grid. BindData () не вызывается дважды.
- Набор данных показывает идеальные данные.
- Тем не менее колонка дублируется после обратной передачи.
- Сначала сетка загружается значением, а затем после паузы она дублируется.
Что я уже пробовал:
Источник -
<Columns> <asp:TemplateField> <ItemTemplate> <asp:ImageButton ID="imgPieceDetailsShow" runat="server" OnClick="Show_Hide_PieceDetailsGrid" ImageUrl="~/Images/plus.png" CommandArgument="Show" postbacktrigger="false" /> <asp:Panel ID="pnlOrders" runat="server" Visible="false" Style="padding-top: 4px;"> <asp:GridView ID="gvPieceDetails" runat="server" AutoGenerateColumns="false" AllowPaging="false" CssClass="ChildGrid" OnRowDataBound="gvPieceDetails_RowDataBound"> <Columns> <asp:TemplateField HeaderText="UniqueIdentifier" SortExpression="UNI" ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="lblUnique" runat="server" Text='<%# Bind("UNI") %>' /> </ItemTemplate> </asp:TemplateField> <asp:BoundField ItemStyle-Width="150px" DataField="ProcessedAmount" HeaderText="Processed Amount" ItemStyle-HorizontalAlign="Center" /> <asp:BoundField ItemStyle-Width="150px" DataField="AppliedAmount" HeaderText="Applied Amount" ItemStyle-HorizontalAlign="Center" /> <asp:TemplateField HeaderText="AdjustedAmount" SortExpression="AdjustedAmount" ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="lblAdjustedAmount" runat="server" Text='<%# Bind("Adjusted_Amount")%>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="AmountDifference" SortExpression="AmountDiff" ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="lblAmountdiff" runat="server" Text='<%# Bind("AmountDiff", "{0:c}") %>' /> </ItemTemplate> </asp:TemplateField> <%--<asp:BoundField ItemStyle-Width="150px" DataField="UNI" HeaderText="UNI" ItemStyle-HorizontalAlign="Center"/> --%> <asp:TemplateField HeaderText="Adjustment" SortExpression="Adjustment" ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Button ID="btnPieceAdjust" runat="server" Text="Adj" OnClick='btnPieceAdjust_click' Style="height: 20px; width: 30px; font-family: Arial; font-size: 10px;" OnClientClick='doPop()' /> </ItemTemplate> </asp:TemplateField> <asp:BoundField ItemStyle-Width="150px" DataField="Description" HeaderText="Description" ItemStyle-HorizontalAlign="Center" /> </Columns> </asp:GridView> </asp:Panel> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Publisher" SortExpression="Publisher" ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="lblPublisherDetails" runat="server" Text='<%# Bind("Publisher") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Cage Date" SortExpression="TimePeriod"> <ItemTemplate> <asp:Label ID="lblCageDateDetails" runat="server" Text='<%# Eval("CageDate", "{0:MM/dd/yy}") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Batch Number" SortExpression="WipsBatchNum" ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:Label ID="lblWipsBatchNumDetails" runat="server" Text='<%# Bind("WipsBatchNum") %>'></asp:Label> </ItemTemplate> </asp:TemplateField>
Код поддержки -
private void BindPieceDetails(string Wips, string Cagedate, string Magcode, GridView gvPieceDetails) { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ProdConnectionStr_Rpt"].ConnectionString); SqlCommand cmdAdjust = new SqlCommand("GetReconbyPiece", conn); cmdAdjust.CommandType = CommandType.StoredProcedure; cmdAdjust.Parameters.Add(new SqlParameter("WipsBatchNum", SqlDbType.NVarChar, 20)); cmdAdjust.Parameters["WipsBatchNum"].Value = Wips; cmdAdjust.Parameters.Add(new SqlParameter("CageDate", SqlDbType.DateTime, 20)); cmdAdjust.Parameters["CageDate"].Value = Cagedate; cmdAdjust.Parameters.Add(new SqlParameter("MagCode", SqlDbType.NVarChar, 20)); cmdAdjust.Parameters["MagCode"].Value = Magcode; try { conn.Open(); //SqlDataReader drPieceRecon = cmdAdjust.ExecuteReader(); //gvPieceDetails.DataSource = drPieceRecon; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmdAdjust); da.Fill(ds); gvPieceDetails.DataSource = ds; //gvPieceDetails.DataSource = "ImageWorkflowDataSrc"; //DataTable dataTable = (DataTable)gvPieceDetails.DataSource; gvPieceDetails.DataBind(); //gvPieceDetails.Columns[6].Visible = false; UpdatePanelgrdRecon.Update(); ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "tmp", "<script type='text/javascript'>myFunction();</script>", false); ds.Dispose(); } finally { conn.Close(); } }
Результат приходит следующим образом -
Publisher Date Batch Amount + a 1/1/2016 123 100 UniqueID Item Amount 1 x 50 2 y 30 3 z 20 UniqueID Item Amount 1 x 50 2 y 30 3 z 20 b 1/2/2016 123 65 c 1/3/2016 123 200 d 1/4/2016 123 309