2013-10-03 85 views
1

我想以這種方式顯示gridview中的值(圖像),我如何執行它,我不知道,如果我必須編輯列或添加模板字段。 ,請幫忙。 如果我們添加一個頁腳,它只能顯示在最後一行,但是,如何使它顯示在中間。當綁定到數據源時自定義gridview顯示

enter image description here

回答

0

我想你需要做的跨越有這個樣子的列。 (我假設你有所有需要綁定到控件的數據。)

+0

謝謝你,可是,我們怎麼辦?你能提供一個例子嗎? – user2740323

0

您可以使用Gridview Footer進行此顯示。

<asp:TemplateField> 
    <FooterTemplate> 
    <table> 
    <tr> 
    <td> 
    <asp:Label ID="lblname" runat="server" Text="NAME"></asp:Label> 
    </td> 
    <td> 
     <asp:TextBox ID="txtbx" runat="server"></asp:TextBox> 
    </td> 
    </tr> 
    </table> 
    </FooterTemplate> 
</asp:TemplateField> 

在RowDataBound事件上,您可以將總數設置爲標籤。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Footer) 
     { 
     Label lbl = (Label)e.Row.FindControl("lblTotal"); 
     lbl.Text = "Total"; 
     } 
    } 
2

你會使用的東西就像一個RepeaterDataList控制,這讓您欣賞到更加輸出控制會更好。

+0

好的解決方案作爲中繼器會給你一個非常好的控制設計,因爲它不會留下任何跡象,就像我們在網格和數據列表中 –

2
<asp:GridView runat="server" ID="gdv" AutoGenerateColumns="false" Width="100%"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <table width="100%"> 
        <tr> 
         <td> 
          Exam Date 
         </td> 
         <td> 
          <%#Eval("Exam_Date") %> 
         </td> 
         <td> 
          Section 
         </td> 
         <td> 
          <%#Eval("Section") %> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          Total Students 
         </td> 
         <td> 
          <%#Eval("Total_Students") %> 
         </td> 
         <td> 
          No. of students passed 
         </td> 
         <td> 
          <%#Eval("StudentPassed") %> 
         </td> 
        </tr> 
        <tr> 
         <td colspan="2"> 
          over all pass percentange 
         </td> 
         <td colspan="2"> 
          <%#Eval("Overall_Percent") %> 
         </td> 
        </tr> 
       </table> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

在CS頁:

gdv.DataSource = YourDataSource; 
gdv.DataBind();