2011-04-01 29 views
1

我有一个嵌套的gridview让我们调用父gridview作为gridview1和子gridview作为gridview2。查询关于绑定gridview ItemTemplate中的标签到字符串

对于每个父级gridview的(gridview1)行我添加子gridview(gridview2)取决于该gridview1中该特定行上存在的发票号码。这是输出here的屏幕截图。

在子网格视图(即gridview2)中,我有一个下载链接按钮,我通过项目模板和软件标题添加了数据绑定到gridview2,然后过滤通过列表<>得到的输出。但是你可以看到下载链接按钮首先被渲染,然后是软件标题。但是我希望软件标题首先被渲染,并且下载链接按钮作为子gridview中的最后一列(即gridview2)。

这是嵌套gridviews .aspx页面中的代码。我收到了这个论坛的一位成员的建议,我可以在下载链接按钮之前添加标签并将其与数据源关联。我只是无法理解它。如何做到这一点?

通过这里所述的方法是,其中即时结合子gridview的数据源与代码(其是I滤波器基于存在于父gridview的发票号数组列表(即,gridview1))。

protected void UserTransactionGridView_RowDataBound(Object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      GridView gridView2 = (GridView)e.Row.FindControl("gridView2"); 
      System.Data.DataRowView dr = (System.Data.DataRowView)e.Row.DataItem; 
      gridView2.AutoGenerateColumns = true; 
      String x = dr[1].ToString(); 
      softwareTitlesList = SoftwareListRetrieve(); 
      ArrayList titles = new ArrayList(); 
      foreach (SoftwareTitles softwareTitle in softwareTitlesList) 
      { 
       if (softwareTitle.InvoiceNumber.Contains(x)) 
        titles.Add(softwareTitle.SoftwareTitle); 
      } 
      gridView2.DataSource = titles; 
      gridView2.DataBind(); 
      softwareTitlesList.Clear(); 
     } 
    } 

顺便说一句我在我的web应用程序项目中使用Visual Studio 2008,asp.net/c#和LINQ。 请帮帮我。

谢谢你在期待

PS:如果某些人不喜欢这个问题U可以得到回答,而不是反对投票或标记之后将其删除。

回答

1

1:添加的AutoGenerateColumns = “假”您GV2

2:<%#的Container.DataItem%>之前的LinkBut​​ton

<asp:GridView ID="gridView2" runat="server" HorizontalAlign="Left" GridLines="None" ShowHeader="false" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100px"> 
      <ItemTemplate> 
       <%#Container.DataItem %> 
       <asp:LinkButton ID="DownloadLbtn" Text="Download" runat="server" OnClick="DownloadLbtn_Click"></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

您可以添加一个单独的模板列,而不是在现有之前添加相同的内容,但是您明白为什么它会显示在linkbutton旁边。

相关问题