[英]Define Datalist HeaderTemplate in c# from code behind
我用aspx編寫了以下代碼,問題是我需要從C#中的代碼創建相同的數據列表:
<asp:DataList ID="DataList1" runat="server">
<HeaderTemplate>
<tr>
<th style="background-color: Black;">
<div style="color: White; font-size: medium; padding: 0; margin: 0;">
TEST</div>
</th>
<th>
<div style="background-color: #ADAAB1; color: #E3E2E7; padding: 5px; font-size: x-small;">
date</div>
</th>
<th>
<div style="background-color: #ADAAB1; color: #E3E2E7; padding: 5px; font-size: x-small;">
Buy/Sell</div>
</th>
<th>
<div style="background-color: #ADAAB1; color: #E3E2E7; padding: 5px; font-size: x-small;">
Call/Put</div>
</th>
<th>
<div style="background-color: #ADAAB1; color: #E3E2E7; padding: 5px; font-size: x-small;">
name</div>
</th>
<th>
<div style="background-color: #ADAAB1; color: #E3E2E7; padding: 5px; font-size: x-small;">
amount</div>
</th>
<th>
<div style="background-color: #ADAAB1; color: #E3E2E7; padding: 5px; font-size: x-small;">
price1</div>
</th>
<th>
<div style="background-color: #ADAAB1; color: #E3E2E7; padding: 5px; font-size: x-small;">
price2</div>
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<div>
<tr>
<td>
<div style="background-color: #71B24C; color: White; height: 50px; text-align: center;">
<%# Eval("option")%></div>
</td>
<td>
<div style="background-color: #ADAAB1; color: White; height: 50px; padding-right: 5px;
font-size: medium; text-align: center;">
<%# Eval("date")%></div>
</td>
<td>
<div style="background-color: #D9D9D3; padding-right: 5px; height: 50px; font-size: medium;
text-align: center;">
<%# Eval("type")%></div>
</td>
<td>
<div style="background-color: #D9D9D3; padding-right: 5px; height: 50px; font-size: medium;
text-align: center;">
<%# Eval("action")%></div>
</td>
<td>
<div style="background-color: #D9D9D3; padding-right: 5px; height: 50px; font-size: medium;
text-align: center;">
<%# Eval("pos_name")%></div>
</td>
<td>
<div style="background-color: #D9D9D3; padding-right: 5px; height: 50px; font-size: medium;
text-align: center;">
<%# Eval("amount")%></div>
</td>
<td>
<div style="background-color: #D9D9D3; padding-right: 5px; height: 50px; font-size: medium;
text-align: center;">
<%# Eval("unitPrice")%></div>
</td>
<td>
<div style="background-color: #D9D9D3; padding-right: 5px; height: 50px; font-size: medium;
text-align: center;">
<%# Eval("total")%></div>
</td>
</tr>
</div>
</ItemTemplate>
</asp:DataList>
我的意思是,我演示的代碼在aspx頁面中可以完美運行。 我很高興獲得相同的效果(顯示數據列表),但通過后面的代碼。 我的意思是在類似以下代碼的地方編寫代碼:DataList = new DataList(); 我的問題是,我不知道如何在后面的代碼中使用HeaderTemplate。 如果您可以提供示例代碼,那就太好了!
后面代碼中的HeaderTemplate必須為ITemplate類型。 請參考這些文章以獲取有關創建模板的信息。
http://msdn.microsoft.com/en-us/library/system.web.ui.itemplate(v=VS.85).aspx
希望他們能提供幫助。
我沒有使用DataList的經驗,但是通過查看MSDN文檔 ,您似乎想要做的就是將數據源綁定到代碼背后的DataList中,然后在aspx頁上使用asp控件來顯示綁定的數據。
因此,您需要將數據綁定到列表:
using (conn = new SqlConnection(cString)) {
conn.Open();
comm = new SqlCommand(selString, conn);
DataList1.DataSource = comm.ExecuteReader();
DataList1.DataBind();
}
然后格式化您的DataList,以使用諸如<%# Eval("date")%>
類的語句從綁定的源中加載數據。
MSDN還提供了有關如何創建ASP.NET Server控件的頁面 :
1.在.aspx文件中,在控件內插入一個元素,以標識要創建的模板,如以下示例所示:\n <asp:DataList id =“ DataList1” runat =“ server”>\n <ItemTemplate中>2.在模板元素內,添加HTML文本和其他控件作為模板的內容。 使用普通語法包括嵌入式控件的屬性和數據綁定值,如以下示例所示:
\n </ ItemTemplate中>\n </ ASP:的DataList>\n<asp:DataList id =“ DataList3” runat =“ server”>\n <ItemTemplate中>\n 名稱:<asp:Label ID =“ Label2” runat =“ server” \n Text ='<%#DataBinder.Eval(容器,“ DataItem.EmployeeName”)%>'/>\n </ ItemTemplate中>\n </ ASP:的DataList>\n3.對要創建的每個模板重復步驟1和2。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.