Мне нужно форматировать datetime в gridview, чтобы просто показать дату. Я не могу просто изменить формат для indiviidual столбца во время извлечения из sql, потому что код использует генерируемый .net SqlDataAdapter.Fill. Я читал в других вопросах stackoverflow о том, как изменить формат даты в связанных полях, и все же другие ответы требуют использования somehting подобно gridview. Формат, который intellisense не находит и неудивительно дает мне ошибку компиляции без определения, если я пытаюсь просто ввести и использовать его. Я не могу просто изменить свойство в aaspx, потому что это программно сгенерированное gridview.проверка, является ли dataype датой в связанных данных
Есть ли способ перечислить столбцы в gridview и проверить, является ли столбец уже типом даты (они будут входить как datetime из sql, сортировка уже работает правильно, поэтому они не входят в строки) и изменить формат на них до даты? в настоящее время, когда я пытаюсь перечислить столбцы, он пропускает, потому что количество столбцов в gridview во время привязки данных все равно выходит как 0. Или у кого-то есть идея, которая будет менее дорогостоящей, это тысячи строк, поступающих так это может быть намного лучше, если я могу просто форматировать столбец или весь gridview для получения информации о времени и времени. спасибо
EDIT: Я нашел способ, помещая это в gridview_RowDataBound
foreach (DataControlFieldCell cell in e.Row.Cells)
{
AutoGeneratedField field = cell.ContainingField as AutoGeneratedField;
if (field != null && field.DataType == typeof(DateTime))
cell.Text = DateTime.Parse(cell.Text).ToShortDateString();
}
, когда вы говорите «программно сгенерированный», вы имеете в виду, что gridview существует в sapx и является автоматическим генератором столбцов или что gridview генерируется динамически и добавляется к свойствам 'Controls' другого контейнера? – fnostro