问题来自:
double dItemPremium =(Eval(" Premium")!= DBNull.Value)? (双)(Eval(" Premium")):0;
我需要帮助改变它。
我正在使用Gridview。
protected void dgCustomer_DataBound(object sender, System.EventArgs e)
{
Label pLabel = new Label();
double dItemPremium = (Eval("Premium")!= DBNull.Value) ? (double)(Eval("Premium")) : 0;
pLabel.Text = dItemPremium.ToString("0.00");
dTotal_m += dItemPremium;
dgCustomer.HeaderRow.TableSection = TableRowSection.TableHeader;
dgCustomer.FooterRow.TableSection = TableRowSection.TableFooter;
dgCustomer.FooterRow.Controls.Add(pLabel);
}
protected void dgCustomer_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
dTotal_m += Convert.ToDouble(DataBinder.Eval(e.Row.DataItem,"Premium"));
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[0].Text = "Totals:";
e.Row.Cells[1].Text = dTotal_m.ToString("0.00");
e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Right;
e.Row.Font.Bold = true;
}
}
在HTML中,我使用了
<asp:TemplateField>
<ItemTemplate>
<%#DataBinder.Eval(DataItem,"Premium")%></ItemTemplate>
<HeaderTemplate>
Premium Amount Paid</HeaderTemplate>
</asp:TemplateField>
我添加了DataBinder和DataItem,但仍然没有。
谢谢!
答案 0 :(得分:0)
您可以使用控件访问代码中的绑定值。 Eval,Bind等方法用于将值绑定到控件。有许多方法可以在代码bebind中访问绑定值,其中一种是
e.Row.Cells[0].Text
另一个是在Label中加入绑定值并像
一样访问它string tempstr=((Label)dgCustomer.Rows[e.RowIndex].Cells[<cell_number>].FindControl("Label_ID")).Text;
答案 1 :(得分:0)
万一有人遇到此问题,这是另一种解决方案:将aspx文件从<%#更改为<%=
<ItemTemplate>
<%= DataBinder.Eval(DataItem,"Premium")%></ItemTemplate>
<HeaderTemplate>