按DataType格式化GridView列

本文关键字:GridView 格式化 DataType | 更新日期: 2023-09-27 18:23:54

嗨,我正在开发一个小型的winforms应用程序,我更像是一名网络开发人员,所以请原谅我在这里的无知。

基本上,我有一堆网格视图,我正在从后面的代码中绑定,比如:

        var con = new SelectOrdersLineItemByOrder() { ConnectionString = ConStr, fk_OrderID = Id };
        DataSet ds = con.ExecuteDataSet();
        gvVendors.DataSource = ds.Tables[0];

目前我正在格式化列如下:

        gvVendors.Columns[5].FormatString = "{0:dd/MM/yyyy}";

因为没有更好的词了,这真是令人头疼!!!

有没有一种方法可以连接一个事件处理程序,或者在事件发生后迭代,然后说:

        foreach (column c in gvVendors)
        {
            if(c is DateTime) { Format Accordingly ... }
            if(c is Decimal) { Format Accordingly ... }
        }            

非常感谢您的帮助。。。

按DataType格式化GridView列

您可以简单地编写一个自己的方法,如FormatGrid(),它为您完成所有格式设置,并在为其分配数据源后调用它。像

     var con = new SelectOrdersLineItemByOrder() { ConnectionString = ConStr, fk_OrderID = Id };
    DataSet ds = con.ExecuteDataSet();
    gvVendors.DataSource = ds.Tables[0];
    FormatGrid();

可以使用以下属性设置格式。

DataGridViewCellStyle.Format

无需在列中循环。你知道列名,它们不会动态变化,所以只有

   dataGridView1.Columns["YourColumnName"]

应该足够了。