将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计算两个字段的差额。
浙公网安备 33010602011771号