我是ASP.NET的初学者,用DataGrid做一个查询数据库的功能,界面见:http://shliqq.vicp.net/datagrid.jpg,大致的作法是:调用SqlServer的存储过程,绑定DataGrid,查是可以查询,但界面实在是太恐怖了,有没有办法美化一下:
1、“单据类型”、“状态”列不要自动换行;
2、“应收”“实收”等数值型格式变为“#,##0.00”,然后右对齐,数据为0不显示;
3、摘要一列太宽,有没有办法固定到一个列宽。
在线求救!
谢谢!
1、“单据类型”、“状态”列不要自动换行;
2、“应收”“实收”等数值型格式变为“#,##0.00”,然后右对齐,数据为0不显示;
3、摘要一列太宽,有没有办法固定到一个列宽。
在线求救!
谢谢!
1.不要换行只要设置DataGrid的属性就可以了,<HeaderStyle Wrap="False"></HeaderStyle>
2.格式化显示在帮定列中使用DataFormatString属性,右对齐使用<ItemStyle HorizontalAlign=Right></ItemStyle>
3.设置列宽只要在绑定列中设置width属性就可以了,<HeaderStyle Width="100px"></HeaderStyle>
稍微设置一下风格就行了的
好好看看.DataGrid很好用,很强大的
你还可以动态更改Item的风格,详细自己,然后相信ms
还有一样没解决:格式化金额的问题。
fengzhimei兄说的“绑定列中设置width属性就可以了”那是指绑定列吧?我用的是模板列,好象就没有这个属性了:(
不知道有什么办法可以解决?
2、“应收”“实收”等数值型格式变为“#,##0.00”,然后右对齐,数据为0不显示;——在数据格式一栏中设为{0:C}可显示为人民币表示格式。
3、摘要一列太宽,有没有办法固定到一个列宽———同1
相关代码如下:
<asp:TemplateColumn HeaderText="应收">
<HeaderStyle Font-Size="X-Small" HorizontalAlign="Center" Width="100px"></HeaderStyle>
<ItemStyle Font-Size="X-Small" Wrap="False" HorizontalAlign="Right"></ItemStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "FYs", "{0:N}") %>
</ItemTemplate>
</asp:TemplateColumn>
美中不足的是,数据为0不显示还是没法做到。
方法有2:
1、遍历数据源,将该列为0的改为"";
2、改页面,顶部添加<%@ Import namespace="System.Data"%>
<%# DataBinder.Eval(Container.DataItem, "FYs", "{0:N}") %>改为
<%# ((RowView)Container.DataItem)["FYs"].ToString()=="0" ? "" : DataBinder.Eval(Container.DataItem, "FYs", "{0:N}")%>
2、照您说的做了,但是编译出错:
CS0246: 找不到类型或命名空间名称“RowView”(是否缺少 using 指令或程序集引用?)
可是,我明明已经将<%@ Import namespace="System.Data"%>添加了呀?还望GOD同志多多指点!谢谢!
2、照您说的做了,但是编译出错:
CS0246: 找不到类型或命名空间名称“RowView”(是否缺少 using 指令或程序集引用?)
可是,我明明已经将<%@ Import namespace="System.Data"%>添加了呀?还望GOD同志多多指点!谢谢!