将DataView绑定到DataList,并调用服务器方法计算

后台CS代码:

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string conString = "data source =127.0.0.1;initial catalog=codematic;user id=sa;password = ";
                SqlConnection myConnection = new SqlConnection(conString);
                string strSQL = "select * from P_Product";
                DataSet ds = new DataSet();
                myConnection.Open();
                SqlDataAdapter adapter = new SqlDataAdapter(strSQL, myConnection);
                adapter.Fill(ds, "ds");
                myConnection.Close();
                DataView dv = ds.Tables[0].DefaultView;
                this.DataList1.DataSource = dv;
                this.DataList1 .DataBind();


            }
        }
        //计算差额的方法

        public string odds(object a, object b)
        {
            return string.Format("{0:n}", ((decimal)a - (decimal)b));
        }

前台页面HTML代码:

    <form id="form1" runat="server">
    <div>
        <asp:DataList ID="DataList1" runat="server">
            <HeaderTemplate>
                <table>
                    <tr>
                        <td>
                            商品
                        </td>
                        <td>
                            价格
                        </td>
                        <td>
                            促销价
                        </td>
                        <td>
                            差额
                        </td>
                    </tr>
                </table>
            </HeaderTemplate>
            <ItemTemplate>
                <table>
                    <tr>
                        <td>
                            <%# string.Format("{0:c}",((System.Data.DataRowView )Container .DataItem)["Name"])   %>
                        </td>
                        <td>
                            <%# string.Format("{0:c}",((System.Data.DataRowView )Container .DataItem)["Price"])   %>
                        </td>
                        <td>
                            <%# string.Format("{0:c}",((System.Data.DataRowView )Container .DataItem)["VipPrice"])   %>
                        </td>
                        <td>
                            <%# odds(((System.Data.DataRowView)Container .DataItem)["Price"],((System .Data.DataRowView)Container .DataItem)["VipPrice"])   %>
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
        </asp:DataList>
    </div>
    </form>

动态绑定各字段数据,最后一列调用服务器odds计算两个字段的差额。 

posted on 2011-03-11 11:06  云起的自学笔记  阅读(305)  评论(0编辑  收藏  举报

导航