簡體   English   中英

從后面的代碼在C#中定義Datalist HeaderTemplate

[英]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。 如果您可以提供示例代碼,那就太好了!

我沒有使用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中> 
\n </ ItemTemplate中>\n </ ASP:的DataList>\n
2.在模板元素內,添加HTML文本和其他控件作為模板的內容。 使用普通語法包括嵌入式控件的屬性和數據綁定值,如以下示例所示:
  <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>\n
3.對要創建的每個模板重復步驟1和2。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM