Я использую SQL Server 2005 и Visual Studio 2008, C #.
В источнике данных (таблица данных SQL Server) я использую формат DateTime мм / дд / гггг , однако в обзоре форм (DataGridView) пользователи хотели бы см. совершенно другой формат с указанием года, номера недели и дня недели ( yyww, d ) в формате string .
Я создал алгоритм для преобразования значений (дата в день недели), но могу ли я заполнить затронутые ячейки yyww, d (строка) вместо mm / dd / yyyy (DateTime)?
Это то, что я тестировал без успеха
(и обратите внимание, что в последней строке проблема становится очевидной, поскольку значение ячейки не будет принимать строку во время выполнения - оно все равно будет DateTime .. .)
private void DataGridViewQueryFindRequests_CellFormatting(
object sender, DataGridViewCellFormattingEventArgs e)
{
string weekAndDay = "";
DataGridViewCell cell =
DataGridViewQueryFindRequests.Rows[e.RowIndex].Cells[e.ColumnIndex];
if (cell.ColumnIndex == 13 && cell.Value == null)
mEmptyRow = true;
if ((cell.ColumnIndex == 14 || cell.ColumnIndex == 15) && !mEmptyRow)
{
weekAndDay = ClassWeeksAndDates.dateToWeekNumber(Convert.ToDateTime(cell.Value));
cell.ValueType = typeof(string);
cell.Value = weekAndDay;
}
}