GridView某列转换模板列后数据消失,请达人指点

gameboyerik001 2011-01-04 03:29:15
请问普通的数据绑定列BoundField和把这个BouldField直接转换为模板列在数据绑定上的区别。。。

小D一直以为 如果用BoundField一切正常的话 我把这个列用VS直接转换为模板列然后不做任何操作的话,两者在功能上是基本一样的,但是现在却遇到一个这样的问题。。


我这个GridView 这一列是BoundField
<asp:BoundField DataField="本月累计实际" HeaderText="本月累计实际" DataFormatString="{0:N2}"
HtmlEncode="False" ItemStyle-HorizontalAlign="Right" />

这样的情况下是完全正常的 怎么使用都没有问题

然后我把它用VS直接转换为模板列

<asp:TemplateField HeaderText="本月累计实际">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("本月累计实际") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("本月累计实际", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>

不做任何操作

就是这样以后居然出现了 有时候这一列数据为空的情况?请问大家遇到过吗?为什么?这样有区别吗?


请达人指点。。。
...全文
126 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gameboyerik001 2011-03-31
  • 打赏
  • 举报
回复
sp1234

确实牛人。。。
  • 打赏
  • 举报
回复
[Quote=引用楼主 gameboyerik001 的回复:]
就是这样以后居然出现了 有时候这一列数据为空的情况?请问大家遇到过吗?为什么?这样有区别吗?
[/Quote]

如果你使用DataTable之类的提供数据源,并且查询结果恰好赶上第一行的这一列的值为null,有可能就会这样。

提供强类型的数据集合,例如List<AccountBook>数据。当然,最好是使用ObjectDataSource,将业务逻辑查询整个分离出去,可以保证在数据上的问题都跟界面分离开,单独调试和解决。
gameboyerik001 2011-01-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 aluogang 的回复:]
<asp:Label ID="Label1" runat="server" Text='<%# Eval("本月累计实际", "{0:F2}") %>'></asp:Label>
[/Quote]

也不行啊。。
aluogang 2011-01-05
  • 打赏
  • 举报
回复
<asp:Label ID="Label1" runat="server" Text='<%# Eval("本月累计实际", "{0:F2}") %>'></asp:Label>
gameboyerik001 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wangoqoq 的回复:]
<asp:Label ID="Label1" runat="server" Text='<%# Eval("本月累计实际", "{0:N2}") %>'></asp:Label>
绑定的时候似乎是不能控制他的显示格式的
[/Quote]

就算我去掉 "{0:N2}" 一样也是没有数据
wangoqoq 2011-01-04
  • 打赏
  • 举报
回复

<asp:Label ID="Label1" runat="server" Text='<%# Eval("本月累计实际", "{0:N2}") %>'></asp:Label>
绑定的时候似乎是不能控制他的显示格式的
gameboyerik001 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wuyq11 的回复:]
eval 绑定数据
是否有值
[/Quote]


Eval 也没值
gameboyerik001 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gameboyerik001 的回复:]
引用 3 楼 sk_aqi 的回复:
本月累计实际 字段名吗?


恩 字段名
[/Quote]

Eval没值
gameboyerik001 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sk_aqi 的回复:]
本月累计实际 字段名吗?
[/Quote]

恩 字段名
wuyq11 2011-01-04
  • 打赏
  • 举报
回复
eval 绑定数据
是否有值
koukoujiayi 2011-01-04
  • 打赏
  • 举报
回复
<asp:Label ID="Label1" runat="server" Text='<%# Eval("本月累计实际", "{0:N2}") %>'></asp:Label>
把Bind改成Eval试试
天下在我心 2011-01-04
  • 打赏
  • 举报
回复
<asp:Label ID="Label1" runat="server" Text='<%# Bind("本月累计实际", "{0:N2}") %>'></asp:Label>
改下text属性:
Text='<%# Eval("本月累计实际") %>'
先不数据样式 看是否能显示
kevin87923 2011-01-04
  • 打赏
  • 举报
回复
你好!
用中文做为字段名好吗??????
gameboyerik001 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zx75991 的回复:]
如果原来是有数据的话。
先运行程序,查看下源代码,是否有数据.Label应该被解析成为span。
如果源码有数据的话,看下你页面上是否有设置label的样式的css文件,label的forecolor是否与背景色重复了.
[/Quote]

不是 查看源文件 td内 是 空的
SK_Aqi 2011-01-04
  • 打赏
  • 举报
回复
本月累计实际 字段名吗?
天下在我心 2011-01-04
  • 打赏
  • 举报
回复
如果原来是有数据的话。
先运行程序,查看下源代码,是否有数据.Label应该被解析成为span。
如果源码有数据的话,看下你页面上是否有设置label的样式的css文件,label的forecolor是否与背景色重复了.
zwj000 2011-01-04
  • 打赏
  • 举报
回复
是不是本来就是空的呀!

62,046

社区成员

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

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

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

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