Gridview Update меняет мой параметр обновления? - PullRequest
1 голос
/ 20 октября 2010

У меня есть Gridview, где я могу изменить часть времени поля DateTime. Метод обновления работает хорошо, за исключением одного:

Поле должно содержать только часть времени, например, 08:23:09, но в базе данных оно сохраняет его как полный DateTime, например, 10/18/2010 08:23:09 AM. Проблема заключается в том, что при редактировании вместо добавления существующей части даты добавляется текущая часть даты. Поэтому, если я редактирую элемент из последнего примера в 08:25:09 вместо того, чтобы добавить его как 10/18/2010 08:25:09 AM, он добавляет его как 10/20/2010 08:25:09 AM, что явно нежелательно.

Вот как я делаю обновление:

protected void grvOutHour_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
       GridView grvOutHour = (GridView)this.grvReport.Rows[grvReport.EditIndex].FindControl("grvOutHour");
       TextBox txtBox = (TextBox) grvOutHour.Rows[e.RowIndex].FindControl("txtEditOutHour");
       string outHour = this.Source[grvReport.EditIndex].EntryDate + " " + txtBox.Text;
       odsOutHours.UpdateParameters["OutHour"].DefaultValue = outHour;
    }

До этого момента значение outHour является желаемым, например, 10/18/2010 08:25:09 AM, но как только значение передается моему фактическому методу обновления:

public static void UpdateHour(int pEntryID, DateTime InHour, DateTime OutHour)
    {
         Hour hour = HoursDataMng.GetEntity(pEntryID, InHour.Date, InHour.TimeOfDay);
         if (hour == null)
             return;
         else
         {  
             hour.OutHour = OutHour;
             HoursDataMng.SubmitChanges();
         }
     }

Я вижу, что OutHour изменился на 10/20/2010 08:25:09 AM

Что происходит?

1 Ответ

0 голосов
/ 20 октября 2010

Сохраните старое Datetime в HiddenField, затем в методе Update получите новое значение времени и замените его в старом DateTime (From HiddenField), затем передайте результат в параметр DB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...