Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DataGridView. Редактирование отформатированной ячейки.

34K
19 октября 2009 года
igla
7 / / 07.03.2008
Здравствуйте, уважаемые товарищи. Перейду сразу к проблеме. Есть таблица БД, которую я хочу редактировать используя DataGridView. В этой таблице есть колонка в которой хранится временная продолжительность процесса. Формат данных в базе представляет собой вещественное число соответствующее количеству дней. Соответственно, редактировать её мне бы желательно в более удобоваримом для человека виде. Таблица идёт как DataSource к DataGridView, поэтому хранение значения в гриде в ином формате неудобно.
Для отображения данной ячейки использую событие CellFormatting:
Код:
...
DataGridViewTextBoxColumn timeLen = new DataGridViewTextBoxColumn();
timeLen.DataPropertyName = "timeLen";
...
gridView.CellFormatting += new DataGridViewCellFormattingEventHandler(timeLenFormat);
...

void timeLenFormat(object sender, DataGridViewCellFormattingEventArgs args)
 {
      if (args.ColumnIndex == timeLen.Index)
      {
                TimeSpan span = TimeSpan.FromDays((double)args.Value);
                args.Value = getTwoChars(span.Hours) + ":" + getTwoChars(span.Minutes) + ":" + getTwoChars(span.Seconds);
                args.FormattingApplied = true;
      }
}

private static string getTwoChars(int p)
{
      return p < 10 ? '0' + p.ToString() : p.ToString();
}



Отображать пожалуйста, но как это редактировать? То есть, мне нужно событие которое позволит мне сделать обратное преобразование из строки к double. До CellEndEdit дело не доходит, обрывается сообщением: "Входная строка имела неверный формат".
288
19 октября 2009 года
nikitozz
1.2K / / 09.03.2007
Гляньте здесь.
http://www.asp.net/learn/data-access/tutorial-17-cs.aspx
34K
19 октября 2009 года
igla
7 / / 07.03.2008
Глянул. Чего искал не нашёл. Проблем с записью в базу у меня и так нет. Стандартного FormatProvider-а для данного случая тоже нет. Как написать свой - не знаю, хотя это тоже было бы вариантом.
46K
20 октября 2009 года
flame_max
23 / / 09.04.2009
вот тут еще посмотрите
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог