gridview自动生成的列格式化的问题!

wang520d 2008-08-26 12:52:53
问题:我想对GRIDVIEW自动创建的一个MONEY类型的列格式化: (因为MONEY类型有4个小数位,我想格式化成2个)
注意:不是模板列格式化

讨论:对一个自动创建的列在绑定后不好格式的话,能不能对数据源进行格式化:
1、我的数据源是一个DATAVIEW

DataView dv = new DataView(dt);
this.GridView1.DataSource = dv;
this.GridView1.DataBind();

怎么对这个DV中的一个MONEY列进行格式化呢?
...全文
383 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomifeng007 2010-09-28
  • 打赏
  • 举报
回复
qqq
downmoon 2008-08-26
  • 打赏
  • 举报
回复

http://www.cnblogs.com/downmoon/articles/1021139.html
xuexiziji 2008-08-26
  • 打赏
  • 举报
回复
对数据源进行格式化,当然可以。
在创建列的时候,设置烈的属性,可以吗
wang520d 2008-08-26
  • 打赏
  • 举报
回复
在线。。。得到答案 立马结贴
rczjp 2008-08-26
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 downmoon 的回复:]
用代码创建列也可以
在创建列的时候,用Convert.ToDecimal或Decimal.TryParse
http://www.cnblogs.com/downmoon/articles/1019697.html

不过建议用sql来做
select pkid,cast(tMoney as Decimal(10,2)) as tMoney from testTable1
[/Quote]
sql语句改变不错... 简洁,呵呵
chinaicm 2008-08-26
  • 打赏
  • 举报
回复
数据源进行格式化是可以格式化一些类型的,但是你这个好象实现不了.
你可以看看DataColumn.Expression.这个有一些格式化的功能.但是我未找到格式化成2位小数的方法.
downmoon 2008-08-26
  • 打赏
  • 举报
回复
用代码创建列也可以
在创建列的时候,用Convert.ToDecimal或Decimal.TryParse
http://www.cnblogs.com/downmoon/articles/1019697.html

不过建议用sql来做
select pkid,cast(tMoney as Decimal(10,2)) as tMoney from testTable1
xuexiziji 2008-08-26
  • 打赏
  • 举报
回复
BoundField endDate = new BoundField();
endDate.DataField = dt.Columns["END_DATE"].ColumnName;
endDate.HeaderText = "完了日";
endDate.HeaderStyle.Width = Unit.Percentage(10);
endDate.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
endDate.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
endDate.DataFormatString = "{0:d}";
GridView1.Columns.Add(endDate);

不知道是不是你要的
tonyze 2008-08-26
  • 打赏
  • 举报
回复
<asp:TemplateField HeaderText="订单金额">
<ItemTemplate>
<asp:Label ID="lblTotalM" runat="server" Text='<%#Eval("TotalM","{0:c}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
wang520d 2008-08-26
  • 打赏
  • 举报
回复
下面的回答请注意 我的这个列是 自动创建的列 使用根本没有这个<asp:BoundField 也没有 TEMPLAGTE模板列
wang520d 2008-08-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuexiziji 的回复:]
对数据源进行格式化,当然可以。
在创建列的时候,设置烈的属性,可以吗
[/Quote]
怎么个设置法?
wang520d 2008-08-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 downmoon 的回复:]
<asp:BoundField DataField="amount" HeaderText="amount" DataFormatString="{0:#,###.00}" HtmlEncode="False" />

关键在于HtmlEncode="False"
[/Quote]

请看清楚我的问题 我一再强调了 是自动创建的列
编程有钱人了 2008-08-26
  • 打赏
  • 举报
回复
DataFormatString="{0:C}" ;
Feiin 2008-08-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 downmoon 的回复:]
<asp:BoundField DataField="amount" HeaderText="amount" DataFormatString="{0:#,###.00}"  HtmlEncode="False" />

关键在于HtmlEncode="False"


[/Quote]


//or
<asp:BoundField DataField="amount" HeaderText="amount" DataFormatString="{0:c}" HtmlEncode="False" />//格式 前面带有¥


locoasta 2008-08-26
  • 打赏
  • 举报
回复
有办法的。。给个思路、 把这个列转化为模板 lable 在后再 RowDataBound 的时候 吧这个lable 找出来 然后取得这个值 格式化 再赋值给这个lable 显示的时候就对了
downmoon 2008-08-26
  • 打赏
  • 举报
回复
<asp:BoundField DataField="amount" HeaderText="amount" DataFormatString="{0:#,###.00}" HtmlEncode="False" />

关键在于HtmlEncode="False"

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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