2016-07-28 29 views
1

我目前正在使用使用Infragistics WebDataGrid控件编写的实用程序。该工具允许用户从下拉列表中选择一个表格,在这个表格中,它运行存储过程以从SQL Server获取数据,然后绑定到网格。如何为Infragistics WebDataGrid中的动态添加列设置格式?

一切都得到一个默认格式,在这种情况下,对于日期时间列,只是MM/DD/YYYY。有一个请求包含至少一个这些列的时间组件。

经过多次搜索,我试图添加代码到_InitializeRow事件处理程序的网格,但我似乎无法得到它很正确。下面是我想出:

if (e.Row.Index == 0) 
{ 
    foreach (GridRecordItem field in e.Row.Items) 
    { 
     if (field.Column.Key == "InsertedOnCC") 
      field.Column.FormatValue = "{0:g}"; 
    } 
} 

这给了我一个错误,FormatValue不能分配一个值,因为它是一个方法组。

这是从几个来源拼凑起来的,其中没有一个做得相当我想要做的。例如,一个样本代码只是总是假定所讨论的列是第一列,所以我必须添加foreach循环。

我见过很多提到BoundDataFieldDataFormatString,但我似乎无法真正找到如何访问这些。

注意:我实际上是一个SQL开发人员,而不是C#开发人员,所以请温和。 :)

谢谢!

回答

2

我能够通过铸造Column作为BoundDataField然后使用DataFormatString从那里来排序了这一点:

 if (e.Row.Index == 0) 
     { 
      foreach (GridRecordItem gri in e.Row.Items) 
      { 
       BoundDataField field = gri.Column as BoundDataField; 

       if (field.Key == "InsertedOnCC") 
        field.DataFormatString = "{0:g}"; 
      } 
     } 
相关问题