急,Gridview显示数据小数位数的问题

xushufeng 2010-01-16 07:10:25
我完整的代码是
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();
就是那个克米平方的字段的小数位数太多了,我应该改动什么地方呢
...全文
1010 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
PaulyJiang 2011-11-19
  • 打赏
  • 举报
回复
Format 吧,怎么都用tostring 你改变了人家的类型
zhaochunxia 2011-11-19
  • 打赏
  • 举报
回复

<%# Convert.ToDouble(Eval("克米平方")).ToString("F2")
wuyq11 2010-01-16
  • 打赏
  • 举报
回复
在页面设置模板列
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
<ItemTemplate>
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate> 这个放在那里
我放在我的查询语句下面提示错误

错误 1 预处理器指令必须作为一行的第一个非空白字符出现 D:\excel\程序\Default.aspx.cs 52 16 D:\excel\程序\
koukoujiayi 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 xushufeng 的回复:]
错误 1 “System.Web.UI.WebControls.GridViewCommandEventArgs”并不包含“Row”的定义 D:\excel\程序\one\c.aspx.cs 107 15 D:\excel\程序\

[/Quote]
兄弟别急!!看看清楚,你如果是动态绑定,这程序肯定没错哦!!
若是直接绑定的楼上很多都说了,可以在页面中打入:
<ItemTemplate>
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate>

你再看看
你是否在GridView1的RowDataBound事件下???
在这个事件下一定有Row的!!
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
这是为什么呀
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
错误 1 “System.Web.UI.WebControls.GridViewCommandEventArgs”并不包含“Row”的定义 D:\excel\程序\one\c.aspx.cs 107 15 D:\excel\程序\
xray2005 2010-01-16
  • 打赏
  • 举报
回复
<ItemTemplate>
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate>
koukoujiayi 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xushufeng 的回复:]
我加了
但是没有起作用
[/Quote]
是吗?这不可能!!
设置断点,看看是否取到值了??
在这句加后加断点
e.Row.Cells[0].Text =Convert.ToDouble(e.Row.Cells[0].Text).ToString("F2");

wuyq11 2010-01-16
  • 打赏
  • 举报
回复
<asp:TemplateField HeaderText="">
<ItemTemplate>
<%#Eval("克米平方").ToString("F2")%>
</ItemTemplate>
</asp:TemplateField>
或String.Format
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
引用 11 楼 xushufeng 的回复:
我用的是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");
}
}
我加了
但是没有起作用
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
那句话写在什么地方
<%#Eval("克米平方").ToString("F2")%>;
koukoujiayi 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xushufeng 的回复:]
我用的是access数据库
我测试了就是提示表达式中 'CONVERT' 函数未定义
[/Quote]
哦!!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");
}
}
xray2005 2010-01-16
  • 打赏
  • 举报
回复
<%#Eval("克米平方").ToString("F2")%>;
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
我用的是access数据库
我测试了就是提示表达式中 'CONVERT' 函数未定义
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
到底是哪里不对呢
那位高手帮一下
谢谢
koukoujiayi 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xushufeng 的回复:]
表达式中 'CONVERT' 函数未定义
错误提示
[/Quote]
在sql的查询分析器中测试一下,应该没错的!!
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
我改成这样

String.Format("{0:N2}",Eval("克米平方"));
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() 这类数据绑定方法只能在数据绑定控件的上下文中使用。
zhao_zps 2010-01-16
  • 打赏
  • 举报
回复
up
xushufeng 2010-01-16
  • 打赏
  • 举报
回复
表达式中 'CONVERT' 函数未定义
错误提示
加载更多回复(5)

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧