加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – GridView中的数据格式设置,AutoGenerateColumns为tru

发布时间:2020-12-16 03:26:43 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET 2.0中有一个GridView,AutoGenerateColumns设置为true.它将在运行时绑定到具有许多可能模式之一的DataSet,而我宁愿不为每个可能的模式设置网格和列. 网格中的某些列有时会是浮点值.似乎默认的数字格式将0.345变为0.345000.有没有办法更改默认数字
我在ASP.NET 2.0中有一个GridView,AutoGenerateColumns设置为true.它将在运行时绑定到具有许多可能模式之一的DataSet,而我宁愿不为每个可能的模式设置网格和列.

网格中的某些列有时会是浮点值.似乎默认的数字格式将0.345变为0.345000.有没有办法更改默认数字格式,以便修剪为设定的小数?

解决方法

您可以在架构中使用字符串而不是浮点以进行显示,并手动执行格式化,如下所示:

编辑:没有LINQ,您可以通过修改架构中的行来做同样的事情:

// load source data
DataSet myData = GetDataSet();

// create column for formatted data.
myData.Tables["MyTable"].Columns.Add("AmountFormatted",typeof(string));

// apply formatting
foreach (DataRow dr in myData.Tables["MyTable"].Rows)
    dr["AmountFormatted"] = string.Format("{0:0.###}",dr["Amount"]);

// remove source column and replace with formatted column
myData.Tables["MyTable"].Columns.Remove("Amount");
myData.Tables["MyTable"].Columns["AmountFormatted"].ColumnName = "Amount";

C#,基于LINQ的解决方案:

var theData = GetDataSchema1();
var dataSource = theData.Tables["MyTable"].Select().Select(dr =>
    new { /* select only columns you want displayed,and apply formatting */
        MyColumn1 = dr["MyColumn1"],MyColumn2 = dr["MyColumn2"],MyColumn3 = String.format("#.###",dr["MyColumn3"]),MyColumn4 = dr["MyColumn4"],MyColumn5 = dr["MyColumn5"]
    }
);
MyGridView1.DataSource = dataSource;
MyGridView1.DataBind()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读