2012-04-20 14 views
1
grid.DataSource = list; //list is a Question[], each Question contains a QuestionText and Choices[] 
grid.DataBind(); 

我該如何展示他們:http://i.imgur.com/MUQK0.png
我應該在asp代碼中編碼?asp.net在gridview中,如果datafield是一個數組,如何顯示它?

<asp:GridView ID="OptionsView" runat="server" AutoGenerateColumns="False" > 
<Columns> 
<asp:BoundField DataField="//here,what should i code?" HeaderText="Options" /> 
</Columns> 
</asp:GridView> 

回答

0

對於這樣的自定義輸出,你將要作出的TemplateField使用:

<asp:TemplateField> 
    <ItemTemplate> 
     <%-- you can use custom tags here and 
      Eval("Property") to get values from the 
      data source, or ((Question)Container.DataItem).Property 
    </ItemTemplate> 
</asp:TemplateField> 

關於你的第二列中,您將需要第二個顯示控制,可以顯示多種數據輸出,如ListViewRepeater。例如,如何顯示第二列中的無序列表(這將在另一個asp:TemplateField中):

<ul> 
<asp:Repeater DataSource='<%#((Question)Container.DataItem).Choices#>' ... 
    <ItemTemplate> 
     <li><%#Eval("ChoiceText")#></li> 
    </ItemTemplate> 
</asp:Repeater> 
</ul> 
+0

其實,我是新來的asp.net。你的意思是:1.創建一個TemplateField,它使用帶有「Question」列的gridview並使用((Question)Container.DataItem).QuestionText來顯示問題。 2.然後在上面創建另一個TemplateField,使用帶有「Choices」列的中繼器並使用((Question)Container.DataItem).Choices來顯示選擇。如果是,那麼「ChoiceText」是什麼意思? – 2012-04-20 02:23:35

相關問題