2011-05-27 110 views
0

我正在为.net内置网站的前端开发工作,这是我第一次做到这一点,并且在尝试更改表格时遇到了问题。ASP GridView问题

,输出我的表是代码...

<asp:GridView ID="GV_Concepts" runat="server" AutoGenerateColumns="False" DataKeyNames="ConCatID" 
    BorderStyle="None" GridLines="None" ShowHeader="False" BorderWidth="0px" CssClass="DashBoard_Concepts"> 
    <Columns> 
     <asp:TemplateField HeaderText="Catalog"> 
      <ItemTemplate> 
       <asp:Label ID="LB_Cata" runat="server" Text='<%# Bind("ConCatalog") %>'></asp:Label> 
      </ItemTemplate> 
      <HeaderStyle CssClass="col-b" /> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText=" Concept Version" ItemStyle-Width="" ItemStyle-HorizontalAlign="Center"> 
      <ItemTemplate> 
       <div class="conceptstd"> 
        <asp:DataList ID="DataList1" runat="server" RepeatColumns="3" BorderStyle="None" 
         DataSource='<%# Bind("DS_Version")%>'> 
         <ItemTemplate> 
          <asp:HyperLink ID="HL_ConcLoc" runat="Server" CssClass="linkage" NavigateUrl='<%# Bind("FileName") %>' 
           Target="_blank" Text='<%# Bind("Ver") %>'></asp:HyperLink> 
          <asp:LinkButton ID="LB_remove" runat="server" CommandArgument='<%# Bind("ConceptID") %>' 
           OnClick="LB_removecon_Click" CssClass="link-btn">Remove</asp:LinkButton> 
          <asp:LinkButton ID="LB_sign" runat="server" CommandArgument='<%# Bind("ConceptID") %>' 
           OnClick="LB_signcon_Click" CssClass="sign-off-btn" Visible='<%# SignedCheck(DataBinder.Eval(Container.DataItem,"SignOff")) ?true:false %>'>Sign Off</asp:LinkButton> 
          <asp:Literal ID="Lit_SignedCon" Visible='<%# SignedCheck(DataBinder.Eval(Container.DataItem,"SignOff")) ?false:true %>' 
           runat="server"><b>Signed Off</b></asp:Literal> 
         </ItemTemplate> 
        </asp:DataList> 
       </div> 
      </ItemTemplate> 
      <HeaderStyle CssClass="col-c" /> 
     </asp:TemplateField> 
    </Columns> 
    <EmptyDataTemplate> 
     Currently no concepts 
    </EmptyDataTemplate> 
</asp:GridView> 

的HTML相当于这也是类似的东西...

<table> 
    <tr> 
     <td></td> 
     <td></td> 
    </tr> 
    <tr> 
     <td></td> 
     <td></td> 
    </tr> 
</table> 

不过,我需要5列不是2,我已经尝试阅读的语法,但认为我会问在这里,谢谢你的任何帮助。

+0

缺少分号。在C中,语句以分号结尾... – pmg 2011-05-27 11:27:14

回答

1

我不是很确定你的数据集是如何构建的,但是你需要那里的数据列表,还是你可以把控件放在GridView自己的ItemTemplate中?这会给你5列:

<asp:GridView ID="GV_Concepts" runat="server" AutoGenerateColumns="False" DataKeyNames="ConCatID" 
    BorderStyle="None" GridLines="None" ShowHeader="False" BorderWidth="0px" CssClass="DashBoard_Concepts"> 
    <Columns> 
     <asp:TemplateField HeaderText="Catalog"> 
      <ItemTemplate> 
       <asp:Label ID="LB_Cata" runat="server" Text='<%# Bind("ConCatalog") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:HyperLink ID="HL_ConcLoc" runat="Server" CssClass="linkage" NavigateUrl='<%# Bind("FileName") %>' 
        Target="_blank" Text='<%# Bind("Ver") %>'></asp:HyperLink> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="LB_remove" runat="server" CommandArgument='<%# Bind("ConceptID") %>' 
        OnClick="LB_removecon_Click" CssClass="link-btn">Remove</asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="LB_sign" runat="server" CommandArgument='<%# Bind("ConceptID") %>' 
        OnClick="LB_signcon_Click" CssClass="sign-off-btn" Visible='<%# SignedCheck(DataBinder.Eval(Container.DataItem,"SignOff")) ?true:false %>'>Sign Off</asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Literal ID="Lit_SignedCon" Visible='<%# SignedCheck(DataBinder.Eval(Container.DataItem,"SignOff")) ?false:true %>' 
        runat="server"><b>Signed Off</b></asp:Literal> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
    <EmptyDataTemplate> 
     Currently no concepts 
    </EmptyDataTemplate> 
</asp:GridView> 

当然,这个遗址您绑定到您的数据源,但我不知道如果我能准确地帮你固定的是:(

0

列的数根据ASP是自动生成的:的TemplateField 当你有两个模板列,将产生唯一的两个栏,如果你需要5列和行数 取决于数据

,所以你必须把5模板列内girdiview

0

你为什么“需要”5列?对于布局?也许一个GridView并不是你想要完成的正确解决方案。生成你的内容的中继器是否可以完成同样的事情?