0

嗨,我正在开发一个小型 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 ... }
        }            

任何帮助是极大的赞赏 ...

4

1 回答 1

1

您可以简单地编写自己的方法,例如 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"]

应该足够了。

于 2013-07-19T17:15:11.503 回答