2016-07-28 3 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.

Я видел много упоминаний о BoundDataField и DataFormatString, но я не могу найти, как их получить.

ПРИМЕЧАНИЕ: Я на самом деле разработчик 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}"; 
      } 
     } 
Смежные вопросы