我完整的代码是
string shuju = "SELECT 日期,生产操作员,米数,克米平方 FROM 产品车间日报表" ;
OleDbCommand oledbcmd = new OleDbCommand(shuju, oledbcon);
OleDbDataAdapter olesda = new OleDbDataAdapter(oledbcmd);
DataSet ds = new DataSet();
olesda.Fill(ds, "dat");
GridView1.DataSource = ds.Tables["dat"];
GridView1.DataBind();
就是那个克米平方的字段的小数位数太多了,我应该改动什么地方呢
string shuju = "SELECT 日期,生产操作员,米数,克米平方 FROM 产品车间日报表" ;
OleDbCommand oledbcmd = new OleDbCommand(shuju, oledbcon);
OleDbDataAdapter olesda = new OleDbDataAdapter(oledbcmd);
DataSet ds = new DataSet();
olesda.Fill(ds, "dat");
GridView1.DataSource = ds.Tables["dat"];
GridView1.DataBind();
就是那个克米平方的字段的小数位数太多了,我应该改动什么地方呢
String.Format("{0:N2}",Eval("克米平方"));
String.Format("{0:F2}",Eval("克米平方"));
cast(克米平方 as Decimal(10,2)) as A
错误提示
string shuju = "SELECT 日期,生产操作员,米数,cast(克米平方 as Decimal(10,2)) as A FROM 产品车间日报表" ;
OleDbCommand oledbcmd = new OleDbCommand(shuju, oledbcon);
OleDbDataAdapter olesda = new OleDbDataAdapter(oledbcmd);
DataSet ds = new DataSet();
olesda.Fill(ds, "dat");
GridView1.DataSource = ds.Tables["dat"];
GridView1.DataBind(); 出现错误提示
Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。
我测试了就是提示表达式中 'CONVERT' 函数未定义
那在GridView中设置:
如你要设置的在0列,在GridView1的RowDataBound中打入以下代码:
不过要保证该列有数据,如果没有数据还要判断一下!!
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Text =Convert.ToDouble(e.Row.Cells[0].Text).ToString("F2");
}
}
<%#Eval("克米平方").ToString("F2")%>;
我用的是access数据库
我测试了就是提示表达式中 'CONVERT' 函数未定义
哦!!assess可能不行!!这是针对sql的!!
那在GridView中设置:
如你要设置的在0列,在GridView1的RowDataBound中打入以下代码:
不过要保证该列有数据,如果没有数据还要判断一下!!
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Text =Convert.ToDouble(e.Row.Cells[0].Text).ToString("F2");
}
}
我加了
但是没有起作用
<ItemTemplate>
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate>
</asp:TemplateField>
或String.Format
设置断点,看看是否取到值了??
在这句加后加断点
e.Row.Cells[0].Text =Convert.ToDouble(e.Row.Cells[0].Text).ToString("F2");
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate>
若是直接绑定的楼上很多都说了,可以在页面中打入:
<ItemTemplate>
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate> 你再看看
你是否在GridView1的RowDataBound事件下???
在这个事件下一定有Row的!!
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate> 这个放在那里
我放在我的查询语句下面提示错误错误 1 预处理器指令必须作为一行的第一个非空白字符出现 D:\excel\程序\Default.aspx.cs 52 16 D:\excel\程序\
<%# Convert.ToDouble(Eval("克米平方")).ToString("F2")